•
i
WKÊÊÊ^^
w
*f
1 1 • I
♦ i
♦ » ♦
V
1-1^ 2
i • t • t ♦ » * .
« 4
l. 1 ▲ 1
• t I t I
• • • f
M1355-2-1BF
tt*1
t t t I t t
• • . • . •
MEIM SUEL.IM°a. JUILLET AOUT B5
J-: ! ! ! ! !__:
un tandem d 'enfer
WÊ
i
AQUAD
Jeu cFarcade aquatique.
100% langage machine :
excellent graphisme
110F
PLAYBOX
A vous de jouer :
AWARI, POKER, POKER
MORPION, JACKPOT,
MASTERMIND, HOLD-UP réunis
pour vous dans PLAYBOX
100 F
Ces logiciels sont disponibles chez votre
revendeur habituel.
Distribués par INNELEC : 840.24.31
et VISMO : 338.60.00
Jeu de rôles en français,
des milliers de possesseurs
d'Atmos l'ont apprécié.
Disponible maintenant
pour votre C.P.C.
185 F
A
F
\Y\\ \\\\\\\ I
Vente Informations Services Micro-Ordinateurs
84, bd Beaumarchais - 75011 Paris 22, bd de Renilry - 78012 Paris
Métro Bastille ou Chemin Vert Métro Daumesnil ou Dugommier
De 10 h à 20 h sauf dimanche. 538 -' , - -i De 14 h à 20 h sauf dimanche et lundi
?twi /.imteitm
CONDITIONNE SUR UN SUPPORT EN
POLYSTYRENE AVEC K7 PROGRAMMES
TABLE DES MATIERES
PRE F AT F INTRnnnrriorj
CHAPITRE 1 : Le 1 anqaqe M-i:;n
L'nr (i inatcur
Le 1 aniuaqe Basic
La notion de proqramme . . . . .
Quelques instrurt ion:; Fîasu
Test des rnnn.iir.:;anri':;
CHAPITRE 2
)<MJX .
Le Loto
Deviner des chiffrer
L^ pendu
CHAPITRE 3
Ma t hom.i t 1 qui
Manipuler des deqrér, ..
Résoudre des équat ions
Statistiques
:HAPITRF. 4
~.r .i| -h 1 :;mi
L ' h : st ogr ammr
Une * ab 1 e à dessin.
CHAPITRE S
la qpstion ')«■ f ich 1 »■ 1 :
Les notions de données et de ! 1 < ■ h 1 » ■ r :
La qestion des fichiers
Une application des fichier:.
Programme AGENDA
Budqet familial
CHAPITRE 6 ; Comptabi Il té
Facturation
Comptabilité généra i e .
3 . bu 1 et in de paye .
PRIX PUBLIC 138,00 FRS TTC
33
GENERALE
HOIil
R ii S .T.R fi D
CE LOGICIEL VOUS PERMET
200 COMPTES
750 ECRITURES
PLAN COMPTABLE AVEC COLLECTIFS GESTIOM
OUVERTURE DES COMPTES
SAISIE DES ECRITURES
TENUE DES COMPTES en permanence
CONSULTATION DU JOURNAL DES COMPTES
CONSULTATION de le BALANCE
EDITION DES LISTINGS SUR IMPRIMANTE
LISTING DES COMPTES
JOURNAL GENERAL
GRAND-LIVRE
BALANCE
TEST DE CONFORMITE DU PLAN COMPTA BLE
CONSERVATION DES DONNEES SUR CASSETTE
LOGICIEL ACCESSIBLE IMMEDIATEMENT
PROTECTION DES DONNEES PAR UNE CLEF
EMPECHANT TOUTES INDISCRETIONS
POURQUOI ATTENDRE
PROGRAMME COMPTAMSTRAD SUR
DISQUETTE 750 F RS '
PRIX PUBLIC 450.00 FRS TTC
SOMMAIRE l\l°g
ÉDITO 5
AMSTRAD, QUELLE POLITIQUE ? 6
NOUVELLES - COURRIER DES LECTEURS 7
DÉCOUVERTE DU 664 8
LA SAUVEGARDE DES DONNÉES 10
LES TOUCHES POUR FAINÉANTS 11
ESSAIS DE LOGICIELS 14
UN ÉDITEUR SE PRÉSENTE 15
INITIATION À L'ASSEMBLEUR 17
TRACEUR DE CAMEMBERT 19
VIE PRATIQUE 22
LASER'S BYKE 25
CHOIX D'UNE IMPRIMANTE 30
FONCTION PAINT 33
TRACER DES CERCLES 35
MATRIX 37
LE COIN BIDOUILLE 39
TOUS À TABLE 43
AWARI 46
PETITES ANNONCES 49
NOS ANNONCEURS
VISMO 3 - COBRA SOFT 9 -
ORDIVIDUEL 13 - ONDE MARITIME AQUITAINE 29 -
LOGISYS 30 - SORACOM 50 -
- NORSOFT II - ERE INFORMATIQUE IV
BULLETIN D'ABONNEMENT
ABONNEMENT POUR UN AN - 11 NUMEROS
6 mois : 99 F — d'essai 3 mois : 50 F
175 F
NOM PRENOM
ADRESSE
CODE POSTAL VILLE
Signature
Ci-joint un chèque libellé à l'ordre de : Editions SORACOM.
Retourner ce bulletin ou une photocopie à :
Editions SORACOM — Service abonnements CPC — Le Grand Logis — 10, avenue du
Général de Gaulle - 35170 BRUZ.
CPC
La revue des utilisateurs
d'AMSTRAD
Publication mensuelle
Rédaction-Administration :
SORACOM - SARL au capital de
50 000 F, Le Grand Logis,
10, avenue du Général de Gaulle,
35170 Bruz - Tél.: (99)
52.98.11 — lignes groupées —
Télex : 741.042 F.
Directeur de publication :
Sylvio FAUREZ
Rédacteurs en chef :
Marcel LE JEUNE
Denis BONOMO
Secrétariat :
Florence MELLET
Abonnements - Vente au
numéro :
Catherine FAUREZ
Maquette
SORACOM
Composition :
FIDELTEX
Impression :
JOUVE MAYENNE
Distribution :
NMPP
Publicité :
IZARD CREATIONS
66, rue St. Hélier, RENNES
Tél.: (99) 31.64.73
Dépôt légal à parution
Copyright & 1985
CPC est une revue mensuelle
totalement indépendante
d'AMSTRAD (GB) et d'AMS-
TRAD FRANCE.
Les articles et programmes que nous
publions dans ce numéro bénéficient pour
une grande part du droit d'auteur. De ce
fait, ils ne peuvent être reproduits, imités,
contrefaits, même partiellement sans l'auto-
risation écrite de la Société SORACOM et de
l'auteur concerné. Les différents montages
présentés ne peuvent être réalisés que dans
un but privé ou scientifique mais non com-
mercial. Ces réserves concernent les logi-
ciels publiés dans la revue.
EDITORIAL
POUR VOS PROCHAINS
PASSAGES DE PUBLICITÉ
CONTACTEZ
IZARD CRÉATIONS
Tél.: (99) 31.64.73
Réaliser une revue au service d'un seul ordinateur demande à l'édi-
teur de faire un choix, choix qui représente en fait une politique
commerciale.
Ou nous éditons une revue dont le but essentiel consiste à rame-
ner de la publicité tout en faisant du rédactionnel qui plaît, ou
nous éditons une revue au seul service des utilisateurs en les infor-
mant en toute indépendance.
Dans tous nos domaines, qu'il s'agisse de la revue MEGAHERTZ,
de CPC ou de THEORIC, nous avons opté pour la seconde solu-
tion. Nous agissons en toute indépendance des importateurs, des
revendeurs ou des fabricants. Toutefois, dans ce dernier cas, il
nous arrive de faire des reportages, car nous estimons que tous
les fabricants français doivent être connus.
Il était donc nécessaire de le rappeler aux lecteurs qui ne nous
connaissent pas. Si nous écrivons qu'un produit est bon, c'est
que nos techniciens (qui ne sont pas des "marchands de papier")
l'estiment comme tel sans préjugé d'aucune sorte.
Outre les rubriques nouvelles, nous avons décidé de faire béné-
ficier nos lecteurs de notre expérience réalisée dans le cadre d'un
autre mensuel. Vous aurez la possibilité de vous procurer la dis-
quette des programmes présentés dans CPC (UNE DISQUETTE
POUR DEUX NUMEROS).
La rubrique courrier technique est à votre disposition. Nous vous
répondrons soit directement, soit par votre mensuel. Enfin, vos
petites annonces sont jumelées avec nos deux autres mensuels.
Cela vous fait 3 possibilités de vendre pour le même prix.
Ces choses étant écrites, toute l'équipe vous souhaite de bon-
nes vacances, si ce n'est déjà fait. Notre prochain numéro en
septembre.
Sylvio FAUREZ
Directeur de publication
AMSTRAD
QUELLE POLITIQUE?
Florence MELLET
Sylvio FAUREZ
L'expérience précédente, celle
d'ORIC FRANCE, montre,
s'il en était besoin, la fragilité du
marché de la micro-informatique.
APPLE, le célèbre géant, n'est-il
pas lui-même en train de mordre
la poussière ?
La vie, voire la survie d'une
machine, son succès également,
dépendent parfois de peu de cho-
ses. Dans le cas d'AMSTRAD, le
rapport qualité/prix n'est pas
étranger à son succès rapide.
Cependant, il est nécessaire de
replacer cet événement dans son
contexte. Les problèmes d'ORIC
FRANCE, l'absence sur le marché
français de certaines machines,
annoncées à grand renfort de
publicité, l'insuccès des MSX,
ont singulièrement aidé l'implan-
tation d'AMSTRAD.
Le handicap qui fut le sien les pre-
miers mois tend à se réduire.
Logiciels, livres et revues arri-
vent, même si certains opportu-
nistes ne connaissant rien à la
micro, se jettent sur le "mor-
ceau" !
Nous sommes donc allés voir
AMSTRAD FRANCE d'un peu
plus près dans ses nouveaux
locaux de Sèvres. De magnifi-
ques locaux, dans un site très
calme. Nous voulions savoir qui
étaient ces étranges importateurs
venus d'ailleurs.
Car venus d'ailleurs est l'exacte
vérité. AMSTRAD FRANCE est
une SARL, filiale de la marque
anglaise. M. QUENTIN, qui nous
a reçus, est le directeur techni-
que, et Mme. VANIER, la
gérante. Les capitaux sont
anglais. Voilà déjà une différence
avec les importateurs des autres
marques. Ici, nous avons une
filiale, pas un importateur. Le lec-
teur doit aussi savoir que M.
QUENTIN manie fort bien la lan-
gue de Shakespeare. Normal, il a
passé de nombreuses années de
l'autre côté du "CHANNEL".
Ceci explique peut-être son air
très réservé.
Cette SARL a créé 25 emplois.
Les ventes ? Si l'on en croit les
chiffres donnés par M. QUENTIN,
elles sont de 62 000 pour le 464
et 24 000 pour le 664 avec un
espoir d'atteindre rapidement les
72 000 machines pour le pre-
mier, et les 40 000 pour le
second. En effet, il semble que
cette proportion soit définitive, le
664 représentant 30 % des ven-
tes globales, la différence étant
faite avec le lecteur de disquet-
tes vendu séparément.
Là où nous attendions nos repré-
sentants de la marque, c'est au
niveau des retours et du service
après-vente. Il semble qu'actuel-
lement le taux de retour soit
inférieur à 1 %, ce qui est mieux
que bien. Nous avons vérifié
auprès de nombreux revendeurs,
et ils nous ont confirmé ce taux
exceptionnel. Quant au SAV,
M. QUENTIN connaît trop les
problèmes engendrés par un
mauvais SAV pour ne pas s'être
penché sur cette importante
notion de service. Si nous
n'avons pas les statistiques fran-
çaises, nous pouvons parler de
celles d'Angleterre. Spectrum
25 %, VIC20 18 %, COMMO-
DORE 64 13 %, AMSTRAD 4 %.
Encore que ce taux "aurait"
encore baissé.
Enfin, les prévisions de ventes les
plus optimistes d'Angleterre
furent largement dépassées puis-
que le quota imposé a été
dépassé de 5000 machines !
Comme aime à le souligner M.
QUENTIN : heureusement, les
Anglais avaient du stock. Pour ce
qui concerne les logiciels, il
estime à 40 % le nombre de
"valables". Quel avenir ? La poli-
tique économique de cette SARL
l'a conduite à se pencher sur le
marché PME et PMI, donc des
professionnels. En effet, le client
commence souvent par un CPC
pour passer plus tard sur un IBM.
En fait, il sert de machine d'ap-
pel et d'entraînement. Concep-
teurs de logiciels, à vos machi-
nes ! Nous avons noté pour vous
encore deux points : AMSTRAD
est vendu en RFA sous la marque
SCHNEIDER, et le prix pratiqué
en France est identique à celui
pratiqué en Angleterre.
Maintenant, reste à savoir de
quoi sera réellement fait l'avenir,
car si actuellement cette marque
détient 60 % du marché en pro-
vince, et 40 % à Paris, gageons
que les autres constructeurs ne
vont pas rester les deux pieds
dans le même sabot. Nous avons
d'ailleurs demandé si les prix pra-
tiqués n'étaient pas des prix de
dumping. M. QUENTIN s'en
défend et nous rappelle, comme
il l'a fait auparavant, que les prix
sont identiques à ceux pratiqués
par la maison anglaise.
Tout de même, pourquoi cette
insistance à ne pas vouloir parler
de la future machine AMS-
TRAD ? car elle est bien en
projet.
En conclusion, nous pouvons dire
que les revendeurs ont bien de la
chance : ils ne vendent pas le
CPC, ce sont les clients qui
l'achètent tous seuls !
6
M. MAGNAC - 33 BORDEAUX
Est-il possible de se servir du pro-
gramme MIRAGE du n° 1 pour lire
des programmes ou disquettes en
Basic protégé ?
Comme nous l'avions écrit dans
l'article, les deux programmes
donnés sont utilisables avec des
disquettes. Seulement, les fichiers
sur disque ne sont pas séquentiels
comme sur la cassette, il faut donc
impérativement les appeler par leur
nom. Pour utiliser le premier pro-
gramme avec les disquettes, il sera
nécessaire de le réassembler en
indiquant le nom du fichier qui doit
être lu.
Par exemple, vous avez un pro-
gramme en Basic protégé qui s'ap-
pelle PROG.BAS et vous voulez le
lire avec le programme n° 1 , il faut
alors remplacer la ligne assembleur
11 par :
BUFF : DB 'PROG.BAS',0DH
BUFF : DB 'PROG.BAS',0BH
Il est alors nécessaire de réassem-
bler le programme. Les utilisateurs
de disques pourront améliorer le
programme en introduisant une
routine permettant de lire au cla-
vier le nom du fichier à lire sur le
disque.
Pour l'utilisation du programme
numéro 2 avec les disques, la pro-
cédure est la même.
VU EN ANGLETERRE
UN ASSEMBLEUR EN ROM
Des programmes en cartouches
pour CPC. Voilà de quoi rêver !
Le premier est d'une utilité incon-
testable : un éditeur-assembleur-
désassembleur.
Son nom MAXAM, distribué par
Arnor Ltd. Souhaitons qu'il ne
tardera pas à arriver en France !
Annoncé comme étant rapide
(3000 lignes/minute), il possède
un éditeur plein écran. Citons
encore l'affichage du contenu
des registres, la possibilité de
mettre des points d'arrêt, la
recherche de chaînes en RAM,
déplacements et effacement de
blocs de lignes et un désassem-
bleur incorporé.
La ROM utilise le port extension
de la machine, et une carte est
disponible pour éviter d'immobi-
liser le port (cas de l'utilisation du
drive). Une EPROM 16 K contient
le soft, et la RAM utilisateur reste
entièrement à votre disposition.
Le prix, de l'autre côté de la Man-
che : 60 £. Souhaitons qu'il ne
s'amplifie pas trop en la traver-
sant. Existe aussi sur disque et
sur cassette (dans ce dernier cas,
possibilités plus réduites).
TASPRfNT POUR
DONNER UN AUTRE
STYLE A VOTRE IMPRIMANTE
Utilisable sur différents types
d'imprimantes (Brother, Epson,
Mannesman-Tally, etc. et bien
sur la DMP 1 ) ce logiciel vous per-
mettra de modifier le style de
l'impression en tirant le meilleur
parti de votre imprimante : carac-
tères gras, stylisés, etc. 5 types
de fontes différents. Un "plus'
pour votre imprimante... (Prix :
10 £).
SIMULATION DE VOL
Des simulateurs de vols, sur CPC,
il y en a plusieurs, des bons et des
moins bons ! FIGHTER PILOT de
Digital Intégration passe pour un
des meilleurs. Nous avons relevé
l'existence de "Myrddin Flight
Simulation" qui, outre l'affichage
de la planche de bord détaillée,
offre une vue externe en "3D".
L'étendue du territoire sur lequel
vous évoluez est assez impor-
tante pour rendre chaque vol dif-
férent, et vous avez le choix
parmi 15 types d'appareils. De
quoi s'envoyer en l'air ! (12 £
chez les Anglais).
- Chez LOISITECH un langage
FORTH sur disquette en CPM 2.2
accompagné d'un manuel de 50
pages. Le tout pour 300 francs.
- Chez SAGEST-INFORMATI-
QUE les logiciels anglais TAS-
MAN adaptés en français : TAS-
WORD, TASPRINT, TASCOPY,
SEMDRAW et DUPLIC.
- Chez FRACIEL le super
TURBO PASCAL en CPM 80 de
BORLAND International avec
documentation en français. Ega-
lement TURBO TUTOR, qui est
en cours, de PASCAL et TOOL-
BOX pour TURBO PASCAL qui
contient trois utilitaires, augmen-
tant la puissance de TURBO PAS-
CAL tout en réduisant le temps
de développement des program-
mes. Nous aurons l'occasion de
revenir plus en détail sur ces logi-
ciels, développés par un français,
dans un prochain numéro.
Chez COBRA SOFT, on annonce
5 utilitaires ;
• MAGIC PRINTER : éditeur-
compacteur de dessins. Pour
créer vos jeux d'aventures.
• AMSTRAL : astrologie. Thème
astral. Edition graphique sur DMP
1.
• BIORYTHMES : avec calendrier
perpétuel. Edition graphique sur
DMP 1.
• POLYFICHIERS : gestion de
fichiers.
• GESTION : pour le suivi de
votre compte bancaire.
LASERDATA
Vidéo Technologie importe un
magnétophone à cassette LASER-
DATA spécialement conçu pour le
CPC 664. Nous aurons l'occasion
de vous en présenter un banc
d'essai complet dans un prochain
numéro.
DECOUVERTE DU 664
Si CPC numéro 1 a été bien
accueilli par les lecteurs, cer-
tains n'ont pas manqué de nous
faire remarquer l'absence d'infor-
mations sur le CPC 664.
Rassurez-vous, CPC est une
revue pour TOUS les utilisateurs
d'ordinateurs AMSTRAD et, si
nous n'avons pas parlé du 664
dans le numéro 1 , c'est que nous
n'en avions pas à la rédaction.
Cette lacune étant comblée, nous
allons vous le présenter.
Bien qu'il faille saluer l'événement
(un ordinateur complet avec lec-
teur de disquettes pour 4500 F,
c'est peu banal), on ne peut pas
parler de révolution. Voyons
pourquoi !
Le 664 se présente sous le même
volume que le 464. Le "design"
du boîtier a été légèrement revu,
et l'aspect général nous paraît
plus agréable. L'intégration du
lecteur de disquettes, en lieu et
place du magnétophone à casset-
tes, s'est faite sans nuire à l'es-
thétique de la machine.
Les couleurs des touches du cla-
vier ont également changé : le
gris clair et le bleu clair se marient
fort bien (quoique le choix du bleu
ciel soit contestable), et l'ensem-
ble fait plus sérieux que les tou-
ches multicolores du 464. Mais
l'habit ne fait pas le moine ! En
effet, le clavier est beaucoup plus
désagréable au toucher. Les
cabochons semblent être d'un
plastique plus léger et les touches
s'enfoncent moins que sur le
464, avec un cliquetis qui rap-
pelle celui des claviers d'ordina-
teurs de bas de gamme. Dom-
mage ! Un des points forts du
464 était justement son clavier
au toucher agréable ; il disparaît
un peu sur le 664...
Continuons notre exploration
visuelle. Les touches de curseur
ont été agrandies et regroupées
en forme de carré, à l'instar de la
disposition adoptée sur le MSX.
Le pavé numérique est à la même
place. Un "f" devant chaque
chiffre rappelle l'utilisation possi-
ble en touches de fonctions. Le
dessus de la disquette est sérigra-
nnjifuinnnnfinnnjuuinnnnfififuinnnnjiJi
phié avec un tableau donnant le
code des couleurs et le numéro
des touches du clavier.
L'arrière du boîtier de l'unité cen-
trale laisse apparaître les diffé-
rents connecteurs d'extension :
— sortie pour deuxième disque,
— bus d'extension pour périphé-
riques,
— sortie imprimante,
— entrée/sortie cassette,
et, bien sûr, la prise joystick et les
alimentations.
Il est important de souligner que,
à l'inverse du 464 où la
connexion d'un drive condamne
l'utilisation du port extension,
celui-ci reste entièrement dispo-
nible sur le 664. Un grand pro-
grès ! L'entrée/sortie cassette est
une prise DIN, mais nous y
reviendrons.
Le moniteur est légèrement diffé-
rent, en ce sens qu'il fournit, en
plus du 5 V, le 12 V nécessaire
à l'alimentation de la disquette.
Il n'y a aucun risque de mélanger
les deux cordons d'alimentation,
détrompés par des fiches de
sexes différents.
Côté soft, le 664 propose AMS-
DOS, le système d'exploitation
des disquettes, résidant propre à
AMSTRAD CP/M 2.2 version
légèrement simplifiée du très
célèbre CP/M et le LOGO de Digi-
tal Research. Fort, très fort, pour
un ordinateur familial ! Quand on
sait que PASCAL est déjà dispo-
nible sur disquette, on se prend
à rêver. Cette "démocratisation"
du disque et des langages sophis-
tiqués devrait combler l'utilisateur
de plus en plus exigeant.
AMSDOS permet de gérer deux
"drives", A et B. On conserve
malgré tout la possibilité d'utili-
ser des cassettes. A ce propos,
soulignons le problème (qui
n'existait pas sur le 464, et pour
cause !) du choix du magnéto-
phone... Des problèmes de char-
gement en perspective !
Si la compatibilité du 464 vers le
664 est annoncée, elle n'est,
hélas, pas toujours vérifiée... Cer-
tains logiciels utilisaient, sur le
464, toute la mémoire disponi-
ble : comme celle-ci a quelque
peu diminué sur le 664, ils ne
fonctionnent plus ! De même,
l'adjonction de fonctions Basic
supplémentaires sur le 664 a cer-
tainement conduit les créateurs à
un remaniement de la ROM.
Moralité avant d'acheter,
assurez-vous personnellement (et
non sur des "on dit") de la
compatibilité.
La disquette est un outil perfor-
mant mais fragile. N'ôtez jamais
une disquette pendant qu'elle
tourne dans le lecteur ! Les dis-
quettes 3" retenues et le DOS
permettent de stocker 1 60 k-
octets par face. Le bouton d'éjec-
tion de la disquette nous a sem-
blé un peu dur.
L'éditeur, déroutant, du 464
aurait pu être amélioré... on le
retrouve tel quel sur le 664. Seu-
les quelques nouvelles fonctions
améliorant la gestion de l'écran
(surtout en graphisme) ont été
ajoutées. Les créateurs ont
notamment prévu une synchroni-
sation du graphisme et du
balayage TV, facilitant les anima-
tions. Ce souci aurait pu être
poussé jusqu'au bout en ajoutant
une création/gestion de SPRI-
TES... ou un simple CIRCLE ! Par
contre, l'effacement du buffer
clavier est maintenant possible.
Ouf !
Il est vrai que cet aspect "ludi-
que" sera négligé par les utilisa-
teurs visant à faire, avec leur
664, une application profession-
nelle. Ceux-là regretteront l'ab-
sence de gestion de fichiers à
accès direct. Pour eux, côté hard,
il aurait été intéressant de dispo-
ser d'une E/S série pour effectuer
le couplage avec un MODEM
(type RS 232) ou des impriman-
tes "pro". A notre avis, c'est
dans ce milieu (PME/PMI) que le
664 devrait faire très, très mal.
Si bon nombre de "hobbyistes"
seront séduits par la disquette
incorporée (quand les program-
8
mes suivront), il est certain que
les utilisateurs "professionnels"
sont très tentés par cette
machine.
Une' configuration "de base"
suggérée :
664 monochrome 4500 F
Drive 2 2000 F
Imprimante (100 cps) 3500 F
1 000 F
Reste à savoir si les logiciels vont
suivre, dans un créneau de prix
raisonnable. Signalons déjà la
"Facturation" ultra sophistiquée
de LOGICYS à moins de 1000 F.
Les possesseurs de 464, tentés
par le 664, auront, par contre,
tout intérêt à conserver (plutôt
que de vendre d'occasion avec
une décote souvent importante)
leur machine et lui adjoindre un
lecteur de disquettes (2500 F).
Livré avec un manuel d'utilisation
très bien fait, incluant une intro-
duction à CP/M et à LOGO, se
terminant par des exemples de
programmes, le 664 est un beau
pied de nez à ceux qui préten-
daient que le Z80 était mort, et
qui ne jurent que par des 1 6 bits
qui n'en finissent pas d'arriver et
de prouver ce dont ils sont capa-
bles.
Nul doute que le 664 ne permette
à AMSTRAD FRANCE de dépas-
ser, sans aucun problème la barre
des 1 00 000 (464 + 664) avec la
vision la plus pessimiste qui soit,
et si on est optimiste...
Evidemment -U tit lMÀÀM.VntnA. en tan-
et de
MEURTRE A GRAHVE VITESSE^ HO F
Une enquête potitCtne à boid du TGV ! Un logicitt paaionnant tt original : de.
VERITABLES und*.ctA tont ^ouinx.i dani la botte. ! Ce logiciel déjà duiporû-bte -lut
Oià.c eX ThomAon a tti iatui pai ta pi tut connut un des mtitttuiA jeux dt l'annét.
■ COBRA PIN8ALL 140 F
Cet txtxaoïdxnaiAt log-<jn.et, copie con^oimt d'un viiitabtt £ltppzi, tit apptli a
dt\ien*j\ un ctaAAique po&iidi pai -tout tti amattun d'Amttiad. Dani cettt Aimuta.tJ.on
tout tbt con&owt à t'oiiginat : bumptit, abtti, couloini, tourniquet . . . tottiit,
extia-baJJ., Apicial tX bien eût un vixitabtt Titt ! W0\ tangagt macn-ùte. Dti mou,
dt ttiavait pout l'un dt no 4 piogiammtuii vtdeXtti.
9HÎGHT "bOOSTERS 120 F
La xtvanckt dt Tion ! Unt coûtée m^einatt au guidon dt votit noto hyptiiuittntit à
pioputAion ionique... Un dut/. inpitoyabtt tntie dtux joutuii ou con-ïte t'otdinattux.
Cta.vi.Vi ou joyitick.
■ CHALLENGER RFI/ERSI MO F
Unt vtiiton iupt-x-puj Haute, de ce giand ctaAiigut dtA jiux dt liittxxxn {apptli
autbi Othello) . L'atgoxiXhnt utiJ-iAe lit den.nieA.tA itchtichtA tn mattitft d'intttti-
gtnet aiti(icittte. Langage mathint.
■ STRESS .' MO F
Echappez au {antbmt qiw. hantt ce weu» manom IcoaaoXa.
t*ej\t aux. ptiionnti caidiaquti '. Claviti ou joystick.
A diconitJJXtl Aovntttt-
En vznte dans les boutiques Spécialisez* ou pan.
coinzspondancz zn tznvoyant le bon ci-dessous à
COBRA SÛF 7_5 ,_avenue_monno t_J1 700 CHALQN S/Saône.._
NOM
ADRESSE
CODE POSTAL V M.LE
Veuillez me faire parvenir les programmes suivants
(les prix sont TTC ) .
Ci-joint mon règlement soit
Port :
Total :
10 F
■ C08RA UO F
Une vti&ion ultia-iapidt dt ce giand ctaaiqut dti jtux i'aicadt mettant
Atiptnt dont la queue i'altongt, i'allongt.
gage .;iacn-ùie. Ctaviei ou joyitick.
■ LA VILLE INFERNALE UO F
Au votant de votit botidt, iztiouvez votit chwin dani ctttt ville wnmtntt et in-
hmpitalitit. GiapkxA<AtA en tioii dijxtniioni. Un jeu où l'on ptut jouet Atut f
ptuA'.twU tt uè^artf iiUelLujtnct, dibiouiZtaidiM,
l'humoui ! Cla\jt.ti ou jOijbtick.
■ P.A.O J 20 F
Un utUltaix.t tiÏA puitiant c,ui voua penaeXtia dt cteet voa dtAAuii disiecttritn*. i
l'ia-ian eX dt pto^et dtA poAAibUUtA gn.apki.gutA dt t'Amitiad. Rvut*Mti tn tan-
gagt nacn-uie. Clavit* ou joyAtuck.
msuPERCOpy no f
Un utititaAjit utUtAabtt dani voa pnopitA p>;cgianmtA (ou avtc V.A.O) pout ja^te atA
copte* d'éctan d^iec^erte^ aui oo^te -tnptùna-fe AmAtxad {quttgut àoU It .node gta-
pUque). En ptui et togiCLtl tn tangagt machine ntX à uo-tte a'wpoi^^on un SPtWLER
de taxttt liglabte. qu*. uoui petme^^ta dt cont^utA a voui aetv-ct de £'..td*.na^eui
pendant l'inpitAAion. Compatibtt impiimanttA Amitiad, GP-100, GP-SOO.
■ WISTO-QUIZZ lUuLLi-<luJ-zz) \20 F
Jtu dt connasjiianct tdial poui jouet tn iamittt. Il tit rfeutn-t. avec un qutAtt-onnacit
baii aui l'hUtoiAt dt Ftartce. Voui pouvez ctéet vot piopitA qutAUonnajJitA : tuitma,
giogiaphtt, etc.. et pouiquoi paà paiticXpti à unt bouiAt d'ichangt...
■ FORCE 4 J20 F
Unt veAAion Auptnbt d'un jtu dt itilexion où, comme dam ItA EchecA ou tt Rtvtia.,
foidinattui ptut donne* Aa me-iute tt et\t un compagnon dt jtu agiiabtt. On ptut
jouti à deux ou chotAiA un advtiAavit paimi ctux piopoAtA pa\ foid+nateui (d^e-
itnti niutaux. dt jtu).
■ GRAPHOLOGIE 150 F
Le pitmiti toglcitt dt giaphologit aAblttit pat otdi«a^eut. A patï-w dtA eten-^ntA
dtAciipti-iA d'une iciituit, t'oidinateui tiace un poitxaiX pAychologj-qut du ictte-
ttui Siiitux tpai AtA iondmtntA tnioiiquti} tt amuAant pai AtA appUcat^ont ,
Giaphologit a été èciit pat un pbyehotogut paiUonné d'anatybt d'éctUute dtpuu,
ptuA de 20 anb. Logicxtl tXvnl auec un liuitt txplicatii et dtA exmptti.
■ MISSION PEFECFOR 120 F
la guette gatactJ.qut . hait tage ! Commandant tt cioiAtui ajmjial dt ta itottt
Atettojjxt, votit miiAton tAt dt piotigti la ptanltt ZïCRA. Attention '. t'aimada
Kaigon qui voua attaqut tit compobtt dt 6 baAZA ipatiatt* uttia-modt\ntA iquj.-
pizi d'icianA piottcttuii léputAi^A tt anti-iadai. . .
Jtu dt it^lexton pout 1 ou 2 joutuii.
MHVPERSPACE 4 120 F
Unt avtntuit ipatio-tempoizltz qui voua conduit dt t'Egypte antique au ?Te*e
iiiclt tn paAiant pat le Fai-WtAt. . . Un jtu d'avtntuie aux giaph^mu Aupeibti
où toute votit intettigtnet <U votit aituct voua AeAont ntctAAOJJitA poui ne
pat vou4 igaitA. dani la quatrième dùntntion ! .. X(|Ji|#- (85/41.36. 16)
a 6Lu,vte,. .
COBRA SOFT adapta ac.tazltmz.nt 6zi logiciel* -Au* dis-
quette poui Izi po6AZ6*zu.*6 de CPC 664 et dz Izcteuti
poun. CPC 464.
Lt6 pztéonnz* intziziàzz* doivent nou* contactzi au
téléphone suivant 16/85 41.36.16 (l'après-midi) ou pan.
countien. à t'adnzsse kabituellz.
Michel ARCHAMBAULT
ï:v::Sï: : : : : : :" : : ; : : : ; : : : : : : :W: : : : ::: ; : : : : :;:ï:;ï:
--NMM4M9M4C
Une cassette vierge dans le
magnéto-cassette ne sert
pas uniquement à sauver un pro-
gramme que vous avez écrit, on
peut aussi enregistrer des valeurs
(nombres, chaînes) que l'on tient
à conserver : c'est alors un enre-
gistrement de fichier.
C'est un peu moins simple que le
SAVE " " pour un programme
Basic, mais ce n'est pas compli-
qué à partir de l'instant où l'on a
compris la raison d'être de certai-
nes fonctions du genre OPENIN,
CLOSEOUT, etc.
LES DIRECTIONS
IN ET OUT
Le micro-ordinateur pense par
rapport à lui-même ; le magnéto,
ce n'est pas dans sa mémoire, il
fait partie de l'extérieur (même si
le constructeur l'a mis sous le
même capot en plastique). Le cla-
vier, l'écran, une imprimante, un
lecteur de disquettes sont aussi,
pour lui, des éléments extérieurs
(on les appelle aussi des "péri-
phériques").
Quand il envoie sur cassette,
c'est OUT ; quand il reçoit des
données de la cassette, c'est du
IN. D'accord ?
Ce n'est pas la peine de le spéci-
fier pour le clavier (toujours du
IN), ou pour l'écran et une impri-
mante (toujours du OUT), unique-
ment pour les périphériques bi-
directionnels, à savoir magnéto-
cassette, lecteur-enregistreur de
disquettes (ou "DRIVE") et
MODEM.
La nature de l'ordre Basic le pré-
vient sur le sens : PRINT ou
WRITE, c'est du OUT ; INPUT,
c'est du IN. Encore faut-il lui dire
le nom du périphérique expédi-
teur ou récepteur, c'est le
"canal", #0à #9 désigne # se
prononce dièse). Quand on ne
précise pas le canal, c'est le canal
#0 ; ainsi PRINT #0 = vers
l'écran, INPUT #0 = entrée
venant du clavier, le canal zéro
est donc le canal implicite.
Le canal # 8, c'est l'imprimante,
on écrit donc simplement PRINT
# 8. Le canal cassette, c'est #9.
Alors là, tout se complique, car
il faut prévenir l'ordinateur s'il lui
faut OUVRIR sa mémoire pour
une sortie ou pour une entrée :
c'est OPENOUT ou OPENIN. A la
fin du transfert de données, il faut
le prévenir que c'est terminé,
c'est CLOSEOUT ou CLOSEIN.
UN EXEMPLE SIMPLE
Un programme vous a fait entrer
(INPUT) des noms, des nombres ;
il a calculé des résultats. Vous
voulez conserver tout cela sur
bande magnétique. Ce fichier
s'appellera "MACHIN" (original,
n'est-ce pas ?).
400 OPENOUT "MACHIN"
410 PRINT #9, A$,B$,C$, NB,
TOTAL, FZ$
430 CLOSEOUT
Le nom du fichier n'est pas obli-
gatoire, on peut aussi comman-
der OPENOUT " ".
A la suite de PRINT #9, on
retrouve la même écriture que
PRINT à l'écran ; les virgules sont
des "séparateurs" de zones de
données, comme à l'écran,
comme dans une ligne de DATA,
comme une suite de paramètres
après une fonction Basic.
Qu'y a-t-il sur la bande enregis-
trée ? Un signal de début fichier,
le nom du fichier, trois chaînes,
puis deux nombres, une chaîne,
et enfin le signal de fin de fichier.
Il n'y a pas les noms des varia-
bles enregistrées, seulement
leurs valeurs. Ce point est très
important.
Complétons un peu. Enregistrons
le contenu d'un tableau DIM
F(100,5). Insérons la ligne 420 :
420 FOR I = 1 TO 1 00:FOR J =
TO 5:PRINT #9, F(I,J):
NEXT:NEXT
Une seule ligne pour sauvegarder
un tableau de 600 nombres ! Pas
mal...
Résumons la technique : après le
OPENOUT " ", on fait PRINT # 9
sur chaque valeur à enregistrer.
On ferme par CLOSEOUT.
RETROUVONS
NOS VALEURS
Pour mettre en mémoire vive (en
RAM) ces valeurs sur bande, il
suffit d'écrire ces mêmes lignes
en Basic, mais en remplaçant
OUT par IN et PRINT #9 par
INPUT #9. C'est tout ; mais
attention à trois pièges hélas clas-
siques :
— demander un nombre alors
que c'est une chaîne qui se pré-
sente ou vice-versa. Ainsi, nous
avions, dans l'ordre, A$, B$, C$,
NB, etc. Si nous programmons :
INPUT #9, A$, B$, C, NB
il y aura un plantage. Mais, on a
droit à :
INPUT #9, NOM$, VILLE$,
REP$, PRIX, etc. ;
— on demande d'entrer un nom-
bre de variables plus grand ou
plus petit que contient le fichier
sur bande : plantage ;
— dans le cas de "variables indi-
cées" (celles d'un tableau DIM),
on a oublié d'annoncer ce DIM.
Exemple : DIM F(100,5) en début
du programme. Là aussi plan-
tage.
10
LE CAS DES
FICHIERS ELASTIQUES
C'est-à-dire des fichiers dont le
nombre de valeurs peut varier
d'un enregistrement à un autre.
Le cas est fréquent, mais il y a
deux façons de se tirer d'affaire :
par la fonction EOF ( = END OF
FILE) qui signale qu'il a reçu le
signal de fin de fichier, ou encore
en prévenant en début de fichier
du nombre de valeurs qui vont
suivre. Voyons un exemple avec
EOF.
500 OPENIN "TRUC"
510 IF EOF THEN 550
520 INPUT #9, AD, NB
530 POKE AD, NB
540 GOTO 510
550 CLOSEIN
Notez bien que la boucle de char-
gement 510-540 débute par le
texte EOF, ce qui évite tout pro-
blème.
Second exemple : à l'enregistre-
ment, nous avions partiellement
garni un tableau de noms prévu
pour un maximum de 500, soit
DIM NOM$(500). En fait, on n'en
a entré aujourd'hui que 48. Le
programme les a compté , c'est
la variable NB = 48. Le fichier a
été enregistré comme suit :
800 OPENOUT "REUNION DU
28/6/86"
810 PRINT #9, NB
820 FOR 1 = 1 TO NB
830 PRINT #9, NOM$(l):NEXT
840 CLOSEOUT
Dans le sous-programme de char-
gement :
910 INPUT "TITRE", NDF$
920 OPENIN NDF$
930 INPUT #9, NB
940 FOR 1 = 1 TO NB
950 INPUT #9, NOM$(l):NEXT
960 CLOSEIN
Et le tour est joué. Facile, non ?
CONCLUSION
Ces quelques mots Basic que
nous espérons avoir démystifiés
sont d'une importance primor-
diale : ils permettent d'archiver
des données entrées ou calculées
par l'ordinateur, et ce mieux que
sur papier, car elles peuvent rede-
venir actives après rechargement
sans que l'on ait eu à les lire sur
une feuille ou à les retaper au cla-
vier. Un micro-ordinateur, c'est
aussi autre chose qu'une super
calculatrice programmable...
Vous avez ainsi tous les éléments
pour vous confectionner des
fichiers sur bande à vos mesures.
Lancez-vous. OPEN !
■ ■:;:: : :;;!i!i!:,
::■;: : : ::::: :
lïïiiïSll
m:; : -I;:; ;
□
□
POUR FAINEANTS
Michel ARCHAMBAULT
Peu d'utilisateurs utilisent un
des trésors de l'AMSTRAD :
transformer le pavé numérique en
touches de fonctions. Ce très
court programme est chargé tout
de suite après la mise sous ten-
sion, puis effacé par un NEW
automatique. Durée six secon-
des.
Non seulement onze touches
sont très utilement redéfinies
pour écrire d'un seul coup CHR$
(,L0CATE, etc.), mais cinq tou-
ches du clavier normal (peu utili-
sées) vont écrire des caractères
très fréquents pour lesquels il fal-
lait appuyer sur SHIFT.
Le but unique : augmenter notre
vitesse de frappe d'une façon
spectaculaire tout en limitant les
risques d'erreurs. Comment ? Un
index qui suit le listing à recopier
tandis que l'autre main continue
la frappe, parce que l'on n'a plus
à faire SHIFT !
Résumons. Les touches du pavé
numérique écrivent des fonctions
ultra-fréquentes, quelques tou-
ches du clavier principal écrivent
d'autres caractères. Tout reste en
mémoire, même après un NEW.
LE PAVE
DES FONCTIONS
Prenons des touches du pavé de
haut en bas et de gauche à droite.
7 = CLS + Enter incorporé
8 = FOR 1 = 1 TO ( + un espace)
9 = EDIT ( + un espace)
4 = caractères noirs sur fond gris
+ Enter
5 = caractères jaunes sur fond
bleu + Enter
6 = KEY 134 (libre)
1 =LOCATE (+ un espace)
2 = CHR$(
3 = LIST ( + un espace)
= PRINT (+ un espace)
. =SPEED WRITE 1:SAVE"
□
□
DD
11
LES TOUCHES
MODIFIEES
Leur rôle est d'obtenir des carac-
tères pour lesquels il fallait faire
SHIFT.
TAB = signe égal
On a vite fait de connaître par
cœur ces seize nouvelles tou-
ches, tout simplement parce
qu'on les utilise constamment.
L'UTILISATION
Ce programme sera enregistré au
début d'une cassette vierge.
Sitôt la mise sous tension, on le
lance par la méthode habituelle
(CTRL + petit ENTER).
Le plan des nouvelles touches du
clavier apparaît à l'écran. En pres-
sant la touche N (ou n), il v a CLS
10 'TOUCHES DE FONCTIONS + SHIFT DIRECT
20 'AKSTRAD « H.Achaibault - 1 ^85
30 ■' -- Non modifiées par NEW —
î 00 KEY 123,"PR!NT ':'
110 KEY 129."L0CATE ";' i
12C KEY !30."CHR>i" ;' 2
140 KEY :32.' : INK 0.13: 1 NK i ,C"+CHR*l 13) . ' 4
150 KEY Ï33,"ÎNK O.llINK 1.24, BORDER 1"+CHR$U3!
C
160 KEY 134. "KEY 134": ' 6
HO KEY !35."CLS"+CHR<il2):' 7
180 KEY 136, "FOR 1=1 TO ":" 6
190 KEY 137. "EDÎT ':' 9
200 KEY 1S8."SPEED WRITE i:SAVE "+CHR* > 34") ;
210 KEY DEF 17,0,40;' !
220 KEY DEF 19,0,41 : !
230 KEY DEF 22-0.36! ' »
240 KEY DEF 26.0,34; "
250 KEY DEF 63,0.61:' =
400 TABLEAU
410 GLS'ORIGIN , : PEN 3
420 LCCATE 10,2:PR!NT "PAVE DES TOUCHES-CLEFS"
430 PEN 1
440 LOCATE 5. 6: PRINT "CLS" " : ;PRINT TABi 16! : "FOR
1 T0"::PRINT TAB' 33) : "EDIT"
450 LOCATE 2,9:PRIHT "No i r/Blanc" " ; ;PRÏNT TABïlt
"Jaune/Bleu" 1 ; :PRINT TAB(32!"1 ibre"
460 LOCATE 4,12: PRINT "LOCATE" : :PRI NT TABi 193 ,"
R<!":;PRINT TABi33):"LIST' :
4Ï0 LOCATE 4,i5; PRINT "PRINT" : SPC i 3 ) : "SPEED ÏRI1
USAVE "
430 LOCATE 12,13; PRINT "TAB est le signe ="
490 LOCATE 1C,1?:PRIKT "Crochets = Parenthèses"
500 LOCATE 6,20 PRINT "A coinerciâl = Guiiieiiit
510 LOCATE 14-21 :FRINT "anti-slash = i"
520 LOCATE 10,23 PRINT "TAPE2 N POUR NEW + CLS"
530 PLOT 5, 340; DRAW? 630,0,2
540 DRAiffi 0,-190
550 DRAlsR -630,0:DRAWR 0,190
600 ÏHILE S$=' ! ":R$=INKEYJ:WEND
610 IF U"?ER<ïR5;="N" THEN CLS:NEW
620 END
s30 ' FIN DE LISTING
et NEW. Vous pouvez alors pro-
grammer ou charger un pro-
gramme à modifier.
La touche libre "6" du pavé
numérique affiche KEY 134. A
vous d'ajouter une virgule suivie
de votre fonction entre guille-
mets, puis de presser Enter. La
touche 6 est alors définie. Atten-
tion, la fonction KEY n'avale pas
tout, elle peut refuser votre fonc-
tion ; l'écran affiche alors "Impro-
per argument" après la pression
d'Enter. Pour entrer certains
signes, utilisez leurs codes ASCII,
exemple CHR$(34) pour le guil-
lemet ; un exemple à la ligne 200.
Si vous êtes sûr de votre
mémoire, ne tapez pas les lignes
400 à 550.
NOTE : Il y a risque d'interféren-
ces si on redéfinit certaines tou-
ches en AZERTY accentué. Ce
programme ne sert qu'à la pro-
grammation.
Avis à tous les chasseurs de
flag-ships, de gloutons et de
space-invaders : Montez sur la
plus haute marche du podium en
nous envoyant les high-scores
réalisés sur vos jeux d'arcade pré-
férés. Votre nom figurera alors
dans le tableau d'honneur de
CPC.
Il suffit pour cela de nous envoyer
le nom du programme, votre
nom, votre score et une photo-
graphie d'écran en noir et blanc
ou en couleur permettant d'au-
thentifier votre performance.
Mais attention, tout ceci n'est
valable que pour les programmes
pour lesquels on ne peut pas
régler les paramètres de jeu ni
changer de niveau. Nous avons
un jury constitué de jeunes Ams-
tradmaniaques qui se chargeront
de détecter et d'éliminer toute
tentative de tricherie. Alors, tous
à vos joysticks et bonne chance !
JEU
SCORE
AUTEUR
HARRIER ATTACK
57140
Eric VIEL
ELECTRO FREDDY
1210
Sébastien LEJEUNE
î =
ROLAND IN THE
CAVES
865144
Stéphane CLOIREC
HUNCHBACK
101700
Stéphane PRUNIERE
GALAXIA
3720
Yannick BOUREE
OH
FRUITEY FRANCK
(slow)
11320
Eric FAUREZ
TE
MANIC MINER
15784
Stéphane CLOIREC
SPACE HAWKS
31500
Maxime GAUDIN
SPANNERMAN
27100
Marie-Christine VIEL
i c
3D-INVADERS
2189
Stéphane PRUNIERE
FIRE-ANT
14900
Yannick TERTRE
DEFEND OR DIE
17725
Sandrine BONOMO
LASER WARP
15360
Nicolas CLOAREC
SURVIVOR
57500
Claude BLANCHARD
ROLAND GOES
101L15p
Philippe ANGEARD
DIGGING
PINBALL WIZARD
7970
Matthieu LEJEUNE
(vitesse 5)
ALIEN BREAK-IN
21700
Kevin PI ERRAT
12
20, rue de Montreuil 94300 VINCENNES - Tél. : (1) 328.22.06
OUVERT DU MARDI AU VENDREDI de 10 h 30 à 13 h et de 15 h à 19 h, LE SAMEDI de 10 h 30 à 19 h
REVENDEUR OFFICIEL AMSTRAD FRANCE
CPC 664
□ avec moniteur couleur
D avec moniteur monochrome .
.5990 F
.4490 F
m m m
\
v
8 bits interface printer
D grâce à cet interface vous pouvez enfin faire du
graphisme sur toute imprimante 299 F
Rallonge alimentation + vidéo
D ne soyez plus collé à l'écran, rallonge 130 F
D Adaptateur péritel 390 F
K>
Synthétiseur vocal AMSTRAD
Enfin votre AMSTRAD peut s'exprimer! Anglais d'ori-
gine il gardera son accent mais, grâce à un programme
basic, vous dira "bonjour", "gagné" ou vous apprendra
l'anglais ou l'allemand.
D synthétiseur vocal 495 f
Câble imprimante AMSTRAD
Vous permet de connecter votre AMSTRAD à n'im-
porte quelle imprimante au standard "centronic"
D câble imprimante 150 F
Carte E/S
Vous permet de commander moteur, relais, lampe.
sonnerie, projecteur
D carte 8 E/S 395 F
Carte E/A AMSTRAD
Peur transformer votre AMSTRAD en centrale de me-
sures. Possibilité de brancher plusieurs cartes
D cane 8 E/A. 395 F
G support moniteur 198 F
M
û Rallonge bus souple 185 F
G hausse pour moniteur et U.C 150 F
Rallonge Joystick
"Éclatez" vous sans rien arracher !
G rallonge joystick 1,20 m 120 F
m
Magnétophone
Ce magnétophone spécialement conçu pour les
micro-ordinateurs vous évitera bien des soucis.
Entrée DIN ou Jack. Niveau réglable. Témoin
sonore et lumineux. Alimentation intégrée
D magnétophone 495 F
CPC 464
D avec moniteur couleur 4490 F
D avec moniteur monochrome 2990 F
LOGICIELS CASSETTE
!•••••<
B ghost buster 140 F
Bandroïd 120F
SJbattle for modway (notice fr.| 145 F
B kari's treasure hunt 90 F
Bléric the viking 175 F
Bfighterpilot 110 F
«Tflighl path 737 100 F
»5 strip poker 1 20 F
S pyjamarama 1 00 F
Q galaxia 95 F
H atom smasher 100 F
H manie miner 100 F
Bjet set willy 100 F
Bdarkstar 100 F
D 3 D monster 1 00 F
H master chess 1 00 F
K code name mat 100F
Slfootball manager 110 F
S house of usher 100 F
5 hunter killer 100 F
Qjack and the beanstalk 115F
□ ring of darkness 155 F
n spécial opérations 1 00 F
B sorcery 140 F
Msurvivor 100 F
B star commando 100 F
Oamlettres 149 F
D animal, végétal, minerai 100 F
Bblagger 100F
Bbridge-it 100 F
43 code name mat 100 F
D colorie 95 F
D classic adventure 100 F
H défend or die 120 F
D devpac (ass, dessas, mon} 290 F
D easy amscalc 1 55 F
HER-BERT 100 F
H harrier attack 100 F
Çj fred électronicien 100 F
B fruity frank 1 00 F
B gestion fichier (éd. CORE) 150 F
□ golf 100 F
□ initiât, basic vol. 1 (français) 1 55 F
D initiât, basic vol. 2 (anglais) 155F
~ hisoft pascal 390 F
house of usher 1 00 F
Bhunchback 100 F
6 haunted edges 100 F
□ le géographe 100 F
§D envahisseurs de l'au-delà 1 00 F
D lettres magiques 100F
D wongs loopy laundry 1 00 F
ttmultigestion (éd. CORE) 195 F
D nombres magiques 100 F
B oh mummy 100F
D polichinelle 100 F
D roland ahoy 100 F
H roland digging , . 1 00 F
â roland lasceaux 1 00 F
fQ roland oubliettes 100 F
□ roland on the run 100 F
B roland intime 100 F
Rstress 120 F
□ technician ted 1 00 F
Dworldwar3 95 F
Bmonopolic 115 F
D bidget fam. (éd. SPRITES) 120 F
Dsplat 100 F
D carnet adresse (éd. SPRITES) 1 20 F
B meurtre grande vitesse 1 80 F
D colorie 105 F
PTJ série noire 120 F
D fruit machine 100 F
D détective 100 F
□ C.P. graph 150 F
K sultans maze 100 F
D gestion entreprise 245 F
D gestion stock 245 F
D facturation 245 F
H musicore 1 95 F
Dkong 120 F
El thomson décathlon 120F
Brallyll 180F
S kikekankoï 160 F
D easy graph 175 F
D easy cale 175 F
D easy bank 175 F
D easy file 175 F
S le millionnaire 140 F
fi mission delta 1 20 F
D micro-sapiens 140 F
n macadam bumper 1 60 F
D cobra 120 F
Bpinball 120 F
ET combat lynx 120 F
BOAO 120 F
D knight booster 120F
D la ville infernale 120 F
DMA base 165F
D initial, ass. Z80 149 F
D min file 149 F
§ hisoft pascal 390 F D salut l'artiste 1 85 F
house of usher 1 00 F D mission détecter 1 20 F
H the hobbit (livre fr.) 220 F
B starstrike 140 F
B le bagne de népharia 140 F
B knight lore 150 F
U 3 D fight 140 F
tu alien 8 140 F
□ mission detector 1 20 F
B survivor 105 F
(S gilligan's gold 100 F
S star commando 100 F
□ K7 de réglage magnéto 130 F
LOGICIELS SUR DISQUETTES
D file (français) 345 F D cale (français) 345 F
D bank (français) 345 F D graph (français) 345 F
9 électro freddy 149 F
S roland in time 149 F
D roland on the sun 149 F
M amsgolf 149 F
B hunchback 149 F
SI roland on the ropes 149 F
S roland in the caves 149 F
G harrier attack 149 F
S roland goes digging 149 F
B code name mat 149 F
(il puncky 149 F
D master chess 149 F
B spannerman 149 F
flj snooker 149 F
D roland ahoy 149 F
H hunter killer 149 F
UTILITAIRES
G entrepreneur (anglais) 345 F
□ décision maker 345 F
D masterfile 345 F
□ project planner 345 F
D microscript 580 F
D microspread 580 F
D DDI ■ firmware 245 F
Q micropen 580 F
D starwatcher 288 F
LIVRES ET REVUES
D AMSTRAD CPC 464 explored 100 F
□ super-jeux Amstrad 1 20 F
D programmé en ass. sur Amstrad 98F
a AMSTRAD ouvre-toi 99 F
Q programmes basic CPC 464 129F
D basic au bout des doigts 149 F
m trucs et astuces pour CPC 464 149 F
D 1 02 prog. pour AMSTRAD 120 F
D AMSTRAD 56 programmes 78 F
□ jeux d'actions 49 F
SI la bible du CPC464 249 F
D méthode pratique (P.S.I.) 100 F
D AMSTRAD en famille 120 F
REVUES
D AMSTRAD user (avril-mai-juin) le n° 12F
Possibilités de crédit partiel ou total
Q 1er lecteur de disquettes 2490 F
D 2ème lecteur de disquettes 1990 F
D imprimante AMSTRAD 2490 F
D Joystick AMSTRAD 149 F
Joystick TIRVITT
Le "MUST" en matière de joystick! 8 directions,
contact par micro-contact, robuste, élégant, précis,
il ne vous décevra pas, garanti 1 an, compatible
standard ATARI et MSX
D Joystick TIRVITT 140 F
Mannesmann MT 80S
L'imprimante "top niveau" en informatique fa-
miliale 100 caractères par seconde. Papier
normal ou informatique. Entraînement par
friction ou traction. Si vous recherchez une
qualité "courrier", la MT 80S vous doonera
plus que des satisfactions tant pour le texte
que pour le graphisme.
D Mannesmann MT 80S 3950 F
60 F
□ disquettes vierges 3".
Cassettes vierges C20
D les 5 45 F
D les 10 80 F
boîtier rangement disquettes
D à l'unité 100 F
D par 3 275 F
D boitier rangement disquettes 255 F
graphiscoP: NOUVEAU
I Grâce à cette table graphique vous pourrez ■
dessiner, copier... de véritables chefs d'œuvre. I
DGRAPHISCOP 1490F I
COMMENT COMMANDER : Cocher le(s) article(s) désiréls) ou faites-en une liste sur une feuille à part - Faites le total + frais de port (20 F pour achats inférieurs à 500 F, 40 F de 500 à 1000 F, 60 F pour achat supérieur à 1000 F).
NOM PRÉNOM ORDINATEUR DCPC464 couleur D CPC464 monochrome DCPC664 couleur D CPC464 monochrome
VILLE
ADRESSE .
TEL..
CODE POSTAL .
Mode de paiement : D chèque / D mandat / D contre-remboursement (prévoir 20 F de frais) - envoyer le tout à : ORDIVIDUEL. 20, rue de Montreuil 94300 VINC ENNES.
^ réseau l l«l:l'lt^E!
BANC □ ■ ESSAI
"AMELIE MINUIT"
En français
(ERE INFORMATIQUE)
Amélie Minuit..., ça vous fait pen-
ser à quoi ? Ben, non ! vous vous
trompez, si Amélie traîne dehors
à minuit, c'est pour la bonne
cause. Seule, elle part à la recher-
che d'un dossier "TOP SECRET"
dans les dédales de couloirs et
bureaux d'une tour de 29 étages.
Il lui faudra déjouer les pires piè-
ges qui augmentent en fonction
du niveau de difficulté choisi au
départ, parmi les cinq proposés.
Pendant la dizaine de minutes
que dure le chargement de la cas-
sette (à quand la version dis-
quette ?), vous aurez le plaisir de
faire connaissance avec la jolie
Amélie apparaissant sur la page
de présentation (petit chef d'oeu-
vre). Vous aurez aussi largement
le temps de lire la notice, suc-
cincte mais suffisante, qui
accompagne la cassette. Ce
qu'elle ne mentionne pas, cette
notice, mais que le programme
vous apprendra, c'est que le
temps est limité. Amélie ne dis-
posera que d'une petite heure
pour accomplir sa mission, voilà
qui augmente bigrement l'intérêt
du jeu !
Il faut la voir se déplacer, la char-
mante Amélie, prendre l'ascen-
seur, marcher dans les couloirs,
explorer les bureaux, le tout
représenté en graphisme 3D très
coloré et du plus bel effet.
Comme Amélie est myope, sa
première tâche sera de retrouver,
dans cette tour qui deviendra vite
infernale, ses lunettes car elle en
aura besoin pour identifier les
dossiers.
Un ascenseur diabolique (par ins-
tants), des lumières qui s'étei-
gnent quand il ne faut pas, tout
cela ne facilite pas sa tâche !
Les commandes sont réduites, il
est donc facile de s'en souvenir.
Attention toutefois, pour prendre
un objet ou ouvrir une porte, il
faut être bien en face. Avec un
graphisme très réussi (rien à voir
avec des tracés "fil de fer"), ce
jeu présente beaucoup d'intérêts,
notamment celui de se dérouler
en un temps limité.
Amélie Minuit : une réalisation
très soignée que l'on se doit de
posséder dans sa ludothèque.
"MEURTRE A GRANDE
VITESSE"
En français
(COBRA SOFT)
Un logiciel très original, par sa
conception, annoncé à grand ren-
fort de publicité et fort bien pré-
senté, dans un coffret du type
"cassette vidéo" incluant un
sachet d'indices et la notice.
L'auteur avoue avoir eu depuis
longtemps l'envie d'écrire un logi-
ciel ayant pour décor le TGV. Le
thème ? Un passager, sénateur
de son état, a été assassiné dans
le train ; à vous de découvrir l'au-
teur du meurtre. Vous avez donc
à mener une enquête policière
dans la plus pure tradition. Des
indices matériels vous sont four-
nis avec la cassette ; ce sont
ceux que vous trouverez lors de
vos explorations. Fouille des
bagages et des voitures, des toi-
lettes, interrogatoire en règle des
passagers ; tout y est ! On vous
permet même d'utiliser le télé-
phone, et vous irez de surprise en
surprise, mais... chut !
Le graphisme est très sommaire
et n'utilise pas les ressources de
l'AMSTRAD, mais là n'est pas
l'intérêt du jeu. Votre position est
matérialisée par une petite croix
clignotante et, hélas, vous ne
pouvez pas explorer du regard
l'ensemble du wagon ; vous ne
voyez pas plus loin que le bout de
vos pieds. Il faut donc faire de
multiples sollicitations du clavier
pour explorer toute la rame TGV ;
c'est un peu lassant.
Ceci étant dit, les aspects néga-
tifs sont assez réduits, et vous
serez vite pris par l'énigme, pleine
de rebondissements et faisant
appel à votre esprit de déduction.
Un petit calepin sera nécessaire
pour tout noter.
Nous ne saurions que trop encou-
rager la création de logiciels ori-
ginaux, sortant des sentiers bat-
tus, et celui-ci en fait partie. Si
vous êtes lassés des sempiternels
jeux d'aventures (où il faut pas-
ser des heures à découvrir le
vocabulaire, à cause d'un analy-
seur syntaxique antédiluvien) et
que les jeux d'arcade ne vous
envoient plus au septième ciel,
nous vous encourageons à
acquérir ce logiciel car il vous pro-
curera de nombreuses heures de
plaisir. Bonne enquête.
14
MASTER CHESS
(MIKRO-GEN) en anglais
Jeu d'échecs. Un des meilleurs.
Dix niveaux de zéro à neuf. Le
niveau zéro est déjà un adversaire
coriace aux réponses rapides :
cinq secondes ! Mais deux jours
au niveau 9... L'ordinateur affiche
le nombre de possibilités qu'il va
étudier ; à côté apparaît le
décompte. Si l'on s'impatiente
aux niveaux élevés, on peut lui
faire précipiter ses élucubrations
en appuyant sur M. Deux pendu-
lettes, les options habituelles plus
une inédite : on peut demander
conseil à l'ordinateur ! Et il n'est
pas farceur...
Graphisme = 3 — animation = 1
son = — intérêt = 4.
* * *
"MACADAM BUMPER"
En français
(ERE INFORMATIQUE)
Jouer au flipper sur AMSTRAD,
c'est super, et en plus, pas
besoin d'avoir de la monnaie, ERE
Informatique vous consent un
forfait lors de l'achat de la cas-
sette !
Macadam Bumper, drôle de
nom : le rocker de la page de pré-
sentation donne le ton. Préparez
la monnaie (ça, c'est pour la
frime) et en avant ! Vous avez le
choix entre jouer et créer. On
commence par une petite partie,
pour voir ? Des couleurs peu heu-
reuses, mais un réalisme parfait.
Il y a même des touches pour le
secouer à droite ou à gauche. Ne
le "bourrez" pas trop, il pourrait
faire "TILT", car tout a été prévu.
Lorsque l'entraînement sera tel
que les parties gratuites n'auront
plus aucun secret pour vous,
vous pourrez accéder à la modi-
fication des paramètres : inclinai-
son, sensibilité du "TILT", valeur
des points, vitesse de la balle,
etc. Et si la lassitude vous guette,
prenez votre patience à deux
mains et redessinez la "babasse"
de votre crû, élément par élé-
ment, en choisissant couleurs,
bonus, pièges, positions des rails
et des chicanes. C'est tentant,
mais c'est un gros travail, aussi
vous aurez le droit de le sauve-
garder sur cassette. Les flippers
les plus fous pourront sortir de
votre imagination sans limite.
Encourageant, la créativité, agré-
menté d'effets sonores et "lumi-
neux" soignés, Macadam Bum-
per est tout à fait comparable aux
flippers vidéo des salles de jeux.
Alors, on l'achète ?
Graphisme = 4, animation = 5,
son = 3, intérêt = 4 à 5.
RALLY II
(LORICIELS) en français
Course de voitures en "trois
dimensions". On a notre voiture
en premier plan, et l'on doit
dépasser les autres concurrents.
On voit la route et les virages
venir sur soi. Plusieurs étapes,
campagne ensoleillée, sur un
pont, littoral, sur la neige, de nuit
et dans le désert. Un accident
n'est pas éliminatoire, mais péna-
lise en temps, d'où risque de dis-
qualification. Vous avez la possi-
bilité de rendre le tracé plus diffi-
cile ou plus facile (jusqu'à suppri-
mer les virages !). Un petit chef-
d'œuvre.
Graphisme = 4 — animation = 5
son = 3 — intérêt = 5.
UIM EDITEUR
ERE INFORMATIQUE
Créée en juin 1983, ERE
INFORMATIQUE s'impose
aujourd'hui comme un des
"grands" parmi les "petites"
sociétés de création et d'édition
de logiciels pour micro-oridina-
teurs familiaux.
A l'origine, un créateur de logi-
ciel, Emmanuel VIAU, confronté
à l'absence de structures propres
à accueillir ses projets. Consta-
tant le parc grandissant des
machines en France, la forte
demande de logiciels originaux en
français et la carence de l'édition
face à un nombre croissant d'au-
teurs, il lance en juin 1983 une
société de création et d'édition de
logiciels grand public.
Les premiers contacs se font par
l'intermédiaire des importateurs
de micro-ordinateurs à qui les
auteurs proposaient leurs réalisa-
tions.
Juin 1983, ERE INFORMATIQUE
sélectionne 6 programmes.
Noël 1 983, la société propose 1 2
programmes originaux.
Noël 1984, 41 programmes fran-
çais sur cassettes sont édités,
provenant de 24 auteurs indé-
pendants ; ils sont adaptés à 5
ordinateurs : Spectrum, ZX81,
Laser 200/310, ATMOS/ORIC,
M05.
15
Riccardo FADANELLI
Emmanuel VIAU
Serge ANDOLFATO
Philippe ULRICH
Cécile
PEYRONNET
Hélène CHOPIN
DE JANVRY
Est prévue pour janvier 1985, la
sortie de 5 nouveaux produits.
L'expansion d'ERE INFORMATI-
QUE s'est appuyée sur des critè-
res :
— de qualité : fini du graphisme,
de la réalisation technique,
rigueur intellectuelle dans l'élabo-
ration des projets ;
— d'originalité : parallèlement
aux logiciels traditionnels (jeux
d'arcade, de stratégie ou d'aven-
ture), diffusion de programmes
plus sophistiqués :
• simulateur de vol (Mission
Delta),
• jeux d'entreprise (Millionnaire,
Manager),
• utilitaires (Master Paint, 3D
Mover).
Des initiatives guidées par un
souci de désenclavement des
compétences visant à offrir aux
utilisateurs un produit optimal
— avec Jeux et Stratégie, Blue
Moon, Objectif Elysée, Don
Juans et Dragueurs,
— avec Science et Vie Micro,
Ordidactic.
ERE INFORMATIQUE s'efforce,
d'autre part, de préparer l'avenir,
par la mise en place d'une politi-
que d'auteurs.
Demain, la Fance peut être le
vivier de la création logicielle.
Encore faut-il offrir aux futurs
concepteurs les moyens de
s'épanouir.
Une mission que la société
entend accomplir dès maintenant
avec ses propres auteurs, de la
manière suivante :
— protéger la qualité d'auteur :
sélection rigoureuse des logiciels
à éditer, privilégiant l'innovation
et la création personnelle ;
— offrir aux auteurs les condi-
tions matérielles et intellectuelles
propres à l'optimisation de leur
créativité : aide artistique et tech-
nique durant la phase de réalisa-
tion, organisation de rencontres
entre auteurs, mise en place
d'équipes aux qualités complé-
mentaires ;
— redonner aux auteurs leur
juste place : engloutis dans
l'anonymat de l'univers du logi-
ciel, il n'en demeure pas moins
que leurs idées et leurs réalisa-
tions constituent la clé de voûte
de l'édifice informatique.
16
• INITIATION
A L'ASSEMBLEUR
Cm?
Denis BOURQUIIM
A partir de ce numéro, nous
allons commencer une série
d'articles d'initiation à l'assem-
bleur. Bien que ce sujet ait déjà
été abondamment traité dans
d'autres revues, nous avons
pensé qu'il était nécessaire qu'il
figure dans la revue de l'AMS-
TRAD. Le microprocesseur du
CPC étant un Z80 de Zilog, nous
traiterons donc plus particulière-
ment de l'assembleur Z80.
Dans ce premier article, nous ne
ferons pas d'assembleur, mais
nous essayerons d'introduire un
certain nombre de notions indis-
pensables à la bonne compréhen-
sion des articles suivants. La pro-
grammation en assembleur
nécessite de posséder quelques
connaissances (matériel et logi-
ciel) que nous allons passer en
revue.
L'AMSTRAD est construit autour
du microprocesseur Z80 de
ZILOG, ce microprocesseur est
dit "8 bits" car il possède un bus
de données 8 bits. Nous allons
donner quelques explications
pour les débutants. Le micropro-
cesseur dialogue avec les circuits
qui l'entourent au moyen de trois
bus (un bus étant une voie de dia-
logue à plusieurs liaisons), un bus
de données de 8 bits (8 liaisons),
un bus d'adresse sur 1 6 bits ( 1 6
liaisons) et un bus de commande.
Le rôle du bus d'adresse est de
fournir l'adresse du périphérique
avec lequel le microprocesseur
veut dialoguer. Cette commande
correspond à la combinaison des
16 liaisons d'adresse. Le bus de
commande permet au micropro-
cesseur d'indiquer le sens du dia-
logue (lecture ou écriture), le type
de périphérique adressé
(mémoire, entrée-sortie), d'indi-
quer son état aux périphériques
ou de recevoir des acquittements
des périphériques.
Le plus important des circuits
périphériques du microproces-
seur sera la mémoire. Sans elle,
il ne peut rien faire, c'est dans
cette mémoire que seront stoc-
kés les programmes et les don-
nées. Elles est architecturée en
"cases" de 8 bits appelées
"octets". Le Z80 ayant un bus
d'adresse de 1 6 bits, ils ne pourra
donc adresser instantanément
qu'une case mémoire choisie
parmi 2116, soit 65536 cases.
Dans le Z80, comme dans un cer-
tain nombre d'autres micropro-
cesseurs, nous distinguons, en
plus de la mémoire, un autre
espace adressable : celui des
poids faibles du bus d'adresse) ;
il est donc de 218, soit 256
cases, ces cases sont plus cou-
ramment appelées ports. Par
exemple, la sortie imprimante du
CPC est dans cet espace, de
même que le générateur de sons,
le contrôleur d'écran, le clavier,
le contrôleur de disque. Mais
vous aurez remarqué, dans votre
manuel du CPC, que les adresses
de l'espace entrée-sortie ne sont
pas données sur 8 bits mais sur
16 (utilisation en Basic de l'ins-
truction INP pour lire le contenu
d'un port et de l'instruction OUT
pour écrire dans un port). En
effet, le décodage des adresses
des entrées-sorties du CPC utilise
une des particularités du Z80 : en
mode d'adressage indirect des
entrées-sorties par le registre C,
le microprocesseur met sur les
bits de poids forts du bus adresse
le contenu du registre B, mais il
est peut-être prématuré de parler
de cette particularité ; aussi, nous
y reviendrons quand nous analy-
serons les entrées-sorties en
assembleur.
La mémoire du CPC est de deux
types : de la ROM qui est une
mémoire accessible uniquement
en lecture et qui contient un pro-
gramme figé par le constructeur.
C'est dans cette ROM que nous
trouvons l'interpréteur Basic du
CPC. Elle est subdivisée en deux
sections de 16 kilo-octets cha-
cune (1 kilo-octet = 1024 octets),
la première est implantée à
l'adresse et va jusqu'à l'adresse
3FFFH (les adresses sont don-
nées ici en hexadécimal à 1610*
15 + 1611 «15 + 1612*15 + 16
3*3= 16383). La seconde va de
l'adresse C000H à l'adresse
FFFFH. Le deuxième type de
mémoire du CPC est la RAM.
Cette mémoire est accessible en
écriture et en lecture, et est dis-
ponible pour l'utilisateur qui y
logera ses programmes et les
données de son application. Elle
s'adresse sur 16 bits et fait 64
kilo-octets (65536 cases). Si
nous faisons le compte de la
mémoire du CPC, nous trouvons
96 kilo-octets ; il y a un truc !
Effectivement, le microproces-
seur ne peut adresser avec ses
16 bits d'adresse que 65536
octets, mais si nous utilisons un
artifice distinguant différentes
zones de 65536 octets, nous
augmentons l'espace mémoire
adressable. Cet artifice peut
consister, par exemple, en écri-
ture dans un port d'entrée-sortie
d'une valeur correspondant à une
des zones mémoires désirées,
nous avons alors paginé ou seg-
menté la mémoire. Il suffit donc
de préciser, avant d'y accéder,
quel est le type de mémoire
désiré. Le CPC procède par l'écri-
ture dans un port, mais nous
reparlerons de cette particularité
17
plus tard.
Lorsque vous travaillez en Basic,
vous n'êtes pas directement maî-
tre de la mémoire, l'interpréteur
la gère à votre place. Vous n'y
accédez directement que par les
instructions POKE et PEEK. Rap-
pelons que l'instruction PEEK
(AD) retourne le contenu de la
case mémoire d'adresse AD, et
POKE AD,VAL écrit la valeur VAL
dans la case d'adresse AD. En
assembleur, c'est vous qui gére-
rez votre mémoire.
Nous allons arrêter là les consi-
dérations sur la mémoire, et nous
allons nous intéresser d'un peu
plus près au microprocesseur.
Regardons l'architecture générale
d'un micro. Cette architecture
simplifiée est donnée par la
figure 1 .
Nous trouvons, comme consti-
tuants principaux :
— Une unité arithmétique et logi-
que ALU qui effectue les différen-
tes opérations arithmétiques et
logiques entre deux opérandes
présentés sur ses entrées. Le plus
souvent, l'un des opérandes est
l'accumulateur ; cet accumula-
teur est un registre interne au
microprocesseur (c'est une
mémoire interne au microproces-
seur). Le registre A, dans le Z80,
a cette vocation. A cet accumu-
lateur nous associerons le regis-
tre des drapeaux qui indique la
manière dont s'est effectuée une
opération arithmétique ou logi-
que. Nous analyserons dans les
prochains articles le contenu de
ce registre des drapeaux.
— Des registres de données 8
bits. Ces registres sont utilisés
comme mémoire temporaire des
données dans les programmes. Il
est toujours intéressant qu'un
microprocesseur en possède plu-
sieurs car le registre offre comme
avantage, par rapport à la
mémoire, d'être d'un accès plus
rapide puisqu'interne au micro-
processeur. Le Z80 possède deux
banques de 6 registres. Ces
registres sont repérés par une let-
tre et sont B, C, D, E , H et L pour
la première banque, et B', C, D',
E', H' et L' pour la deuxième ban-
que. Une seule de ces banques et
accessible à un instant donné, le
passage d'une banque à l'autre
s'effectuant par une seule ins-
truction. Nous remarquons que le
registre A correspond à la pre-
mière banque et que son homo-
logue, dans la deuxième banque,
est le registre A'. Notons tout de
suite que ces registres de 8 bits
peuvent être regroupés deux par
deux pour être utilisés en regis-
tres 1 6 bits : BC, DE, HL, ils peu-
vent servir de registres d'adresse.
— Des registres d'adresse 16
bits. Ce sont les registres IX et IY
qui servent d'index pour l'adres-
sage de zones mémoires. Nous
reparlerons dans un prochain
numéro des différents types
d'adressages. Le registre SP est
le pointeur de pile. La pile, mais
qu'est-ce que c'est ? Lorsque
vous avez programmé en Basic,
vous avez probablement utilisé
des sous-programmes que vous
avez appelés par GOSUB. A la fin
du sous-programme vous aviez
l'instruction RETURN. Oui, mais
return où ? L'adresse de retour,
l'interpréteur se l'était rangée
dans un coin de la mémoire : la
pile. La pile et une zone mémoire
que vous réservez au micropro-
cesseur, pour lui permettre de
sauvegarder les adresses de
retour au programme principal,
lors des déroutements vers des
sous-programmes ou vers des
programmes d'interruption. Cette
pile vous servira aussi, dans les
programmes, à sauvegarder le
contenu des registres. Sa struc-
ture est du type LIFO (last-in,
first-out : dernier entré, premier
sorti). La sauvegarde dans cette
pile consiste finalement en des
opérations d'empilage et de dépi-
lage. Il nous reste encore un
registre de 16 bits à voir ; le
compteur ordinal : PC. Ce regis-
tre n'est pas manipulé directe-
ment par le programmeur, mais
c'est lui qui pointe la mémoire
pour aller chercher en séquence
les différents codes opération et
opérandes.
Le Z80 possède deux autres
registres 8 bits : les registres I et
R. Le registre I pointe la table des
vecteurs d'interruption. Nous en
reparlerons quand nous verrons-
les modes d'interruption du Z80.
Le registre R fournit les adresses
de raffraîchissement pour les
mémoires dynamiques.
Nous arrêterons là notre bavar-
dage pour ce numéro. Au pro-
chain rendez-vous, les choses
seront plus sérieuses : nous par-
lerons du fonctionnement du
microprocesseur et commence-
rons à parler de l'assembleur pro-
prement dit.
Figure 1
foâ
Registre
d adresse
Bus de <ktrt>ee iriterrw
^> o , <y \
Registre
Accumu-
lateur
Drapeaux
Bus d'adresse interne
JJL
Registre
instruction
ZLL
Décodeur
d 'instruction
CD
1 1
Séguenceur
Bus de contrôle interne
>
*s
=0>
7k
18
I* w w ' A < *
DE CAMEMBERT
Les résultats d'élections à la
télévision nous ont familiarisés
avec cette représentation circu-
laire des divers pourcentages
obtenus. C'est beaucoup plus
"parlant" que les diagrammes en
barres verticales.
Le programme que nous vous
proposons est complet, à savoir :
la saisie des données brutes, le
calcul automatique en pourcenta-
ges, le classement (facultatif),
l'affichage de la représentation
graphique en camembert avec la
liste complète des éléments
(pourcentages et total), édition
sur imprimante de la liste des
résultats et "Hard copy" de la
page graphique. Ajoutez à cela
les corrections d'erreurs à la sai-
sie et une multitude de sécurités
anti-étourderies. Un logiciel d'une
rapidité étonnante pouvant être
utilisé à des fins professionnelles,
et qui ne fait que 3655 octets
REM comprises, soit deux
"Blocks" sur cassette.
LE MODE D'EMPLOI
Il est parfois beaucoup plus clair
de commencer par la fin...
La première page d'écran est le
titre qui vous demande d'entrer
le nom de baptême de votre
tableau. Tous les caractères tels
virgule et guillemets sont admis.
Un pointillé vous indique le nom-
bre de caractères maxi (40).
Deuxième page d'écran : la sai-
sie des données brutes. L'en-tête
rappelle que vous avez droit à
douze noms (ou éléments) de 1 5
caractères maxi chacun. La
numérotation de 1 à 1 2 est auto-
matique. Nous sommes toujours
en MODE 1.
Entrez le premier nom, ENTER,
quantité correspondante, ENTER,
nom suivant, etc.
En bas de l'écran figurent deux
options : E pour erreur, Q pour
quitter la saisie (automatique
après le douzième nom). Deux
cas d'erreurs :
— le curseur étant sur "quan-
tité", vous constatez une erreur
sur le nom situé à gauche (vous
avez déjà pressé ENTER). Tapez
E, ENTER; vous pouvez réécrire le
nom ;
- le curseur est sur "NOM" et
vous constatez que la ligne supé-
rieure est erronée, tapez E et
vous revenez sur la ligne précé-
dente.
A la fin de la saisie, on vous
demande si vous voulez un clas-
sement. Répondons N (non), par
exemple. Aussitôt après...
Troisième page d'écran, en
MODE 2, le camembert se des-
sine à gauche. Chaque secteur
est repéré par des lettres A, B, C,
D, etc. En haut apparaît votre
titre. A droite la légende, Lettre
A = tel nom = tel pourcentage,
etc. Au-dessous "Sur un total de
..." (somme des quantités).
En bas à droite, le choix entre
quatre options :
I = l IMPRIMER
(Si vous avez une imprimante...).
II y a d'abord écriture de la liste
détaillée des résultats, saut de
page paramétré et copie sur
imprimante (ici EPSON ou assimi-
lée) de la page d'écran graphique.
Un bip sonore signale la fin de ce
travail. Les autres options sont
toujours disponibles.
C = CLASSER
La page d'écran est modifiée
avec, cette fois-ci, le plus fort
pourcentage obtenu en "A", et
ainsi de suite. On peut comman-
der une deuxième impression.
E= ENCORE
C'est un RUN du programme
pour un autre tableau.
F = FIN
Retour à l'état initial de l'AMS-
TRAD (couleurs), MODE 1 et
END.
LE PROGRAMME
Si vous n'avez pas d'imprimante,
vous pouvez vous dispenser de
taper les lignes 4220, 5000 à
51 10, et de 56000 à la fin. De
même, supprimez Z (200) en
ligne 50.
Pour beaucoup d'entre vous, ce
sera l'occasion d'utiliser certaines
fonctions Basic peu courantes
mais tellement pratiques, qui font
la gloire de l'AMSTRAD.
— UPPER$ qui transforme tout
en majuscules.
— STRING$ qui évite de taper
une longue série du même carac-
tère ; de même SPC pour les
blancs (dont le manuel ne parle
pas...).
— CHR$(1 8) qui efface la ligne à
droite du curseur.
— CHR$(7) qui émet un bip
sonore.
— XPOS, YPOS qui permettent
de faire un LOCATE à l'extrémité
d'un DRAW ou d'un DRAWR.
— UNE INPUT qui est à INPUT ce
19
que WRITE est à PRINT (prend
absolument TOUS les caractè-
res).
Nous avons ajouté une fonction
Basic manquante : CIRCLE. C'est
notre mini-module 54000 à
54040 qui trace un cercle parfait
(pas en pointillés...) en une
seconde ! On lui donne les coor-
données X, Y de son centre, son
rayon R et sa couleur COL (PEN
1 par défaut). Son principe est de
tracer 36 "cordes".
C'est arbitrairement que nous
avons limité le nombre de noms
à 12. Il ne faut pas confondre
camembert et roue de bicyclette !
Nous avons souvent usé d'un
côté sympa de l'AMSTRAD qui,
lorsqu'il attend des valeurs entiè-
res (exemple dans un LOCATE) et
qu'on lui livre des valeurs calcu-
lées décimales, transforme ces
dernières en entiers et arrondis au
plus proche !
TABLEAUX DE CALCULS
DIM CA(12,3) : En 1 ce sont les
quantités NB saisies (totalisées
par TNB). En 2, le rapport
NB/TNB (multiplié par 1 00 - %).
En 3 = la position angulaire, donc
tenant compte des angles des
secteurs antérieurs. Ils sont recal-
culés si on a demandé un classe-
ment (tri) en deuxième passe.
TRACE
Après tracé des rayons séparant
les secteurs (ligne 4040), on
trace "à blanc" les bissectrices
de ces secteurs, mais avec un
rayon plus court (lignes 4050 à
4080). Il s'agit alors de transfor-
mer ces coordonnées graphiques
(XPOS et YPOS) en coordonnées
texte (LOCATE) afin d'inscrire
l'initiale du secteur (A, B, C...). Le
calcul de la ligne 4090 fait une
division par 16 pour l'axe Y
(400/25 = 1 6) et par 8 pour l'axe
des X (640/80 = 8), car nous
sommes ici en MODE 2.
La rapidité d'exécution est assez
surprenante.
IMPRESSION
Le module 5000-51 10 peut être
appliqué à toute imprimante, à
l'exception du CHR$(27)" "
(ligne 5010) qui est un code
EPSON qui vide le buffer de l'im-
primante ( = "initialisation d'im-
primante"). Une précaution
systématique. Le saut de page de
la ligne 5090 s'applique au papier
1 1 pouces de 66 lignes par page
(le plus courant).
Le module de Hard-Copy (56000-
56240) ne concerne que les
imprimantes EPSON RX ou FX (et
les EPSON vendues sous une
quinzaine d'autres marques... ).
Le principe consiste à explorer la
mémoire d'écran en 80 bandes
verticales, mise en DIM Z de ces
octets, et envoi de ceux-ci en
"BIT IMAGE" (code CHR$(27)
"K" de la ligne 56120). On
obtient alors un tracé 1 8 x 24 cm
qui déforme légèrement le cercle.
NOTE : Si vous utilisez ce module
utilitaire pour d'autres program-
mes, n'oubliez pas le DIM Z (200)
mis ici en ligne 50.
Michel ARCHAMBAULT
AJiSTRA
20 ' fiichel ARCHAKBAULT 1985
50 DIÎ1 NM$*12',CA'i2,3î,2<200}
33 'M CA 1=-3UANTIÎE NB'2=NB/T0TAL;3=Pf)SITI0N ftW
ULAIRE
70 INK 0,1; INK 1,24: ÏNK 2.20: INK 3, 6: BOEDER 15 ORI
GIN 0.0
100C ; TITRE
10n MODE 1 ; PAPES 2'FEN 3 CLS LOCATE 20,? D « r N" "
CAMEMBERT"
1020 R=120:X=160:Y=26C:CCL=-!;GOSUB 54000
1030 LOCATE 3 : 20:PEN 0:PRÏNT "Nos* du Tablssi,; ";ST
R!NG$!22.",")STR:N5iil8. ,; ,";:PEN 3 LOCATE ,0 .2H L
INE INFUT 111$
1040 7IT$=LEFT$(TIT$,40'
lliû CLS: LOCATE 3 ? 2;PRINT ,: l2 NOMS naxi ce 15 CARA
CTERES tax i .
1120 LOCATE 4,24;PRïNT 'Erreur = E : pcmr QulU°r
NOM = G"
1130 LOOTE KM'PRIHT "NOM !!: LC2ATE 25,4:?PI s îT "Q
uni! l i i£L ; : i tri J
1140 S=N+l:LXftTE 5,5tN;PSINT USÎNG *«#" H; LOCATE
-STSING*( 15
7,5*N;PRINT " :
KE ÎNPUT "Mi
1150 IF UPFER*ïNMïï = "Q" THEN N=N-1:G0Tj 2C00
1155 IF NM»="E" THEN N=N-2;G0Tu 1140
ilcC NK$*NS=LE ? Tt*N!1*,i5)
1170 LOCATE 27,5 i N , INPUT ""M\ ;NB=VA!.'N'Si ; . IF fJF
ES$tSB$5="E" THEN S=H-Ï :GQT0 1140
< ■-= î- .s'p r - fit|Tj 5jpj .i'«, -,3 *fR<:j TiffK az^if "î,
i ; 50 r : 4-;ï. * !z«s TK^zT'JOifîP ■ I? >Jr'" TUrj> '?"<V1
:/■, ? IF N=! THEN PRINT CKRi ( 7 ); LOCATE 3-22:P
-*5 de CïS'efberi pour UNE «fiable..." FOR I
MUNKEY») IF Gî= ; N" THEN
:! ' FîrtiMt
ttU ,1 WTM?:CA(Ï ,3)=360ï
20
41 OC LOOATE 40+ï4D-LEN:T!T$}!/2
«110 FOR 1=1 TO N
4120 LOOATE 47-4+ï PRÎNT CHRt(64+I ) ■ ' MH$ ( I -
4130 LOOATE ô7,4+ï:PRINT "= "/.PRINT USING '##.##"
:CAiI, 2)1:00; PRÎNT " %"
4140 NEXT
4150 LOCATE 50, i9:PRïNT "SUR UN TOTAL DE";TNB
4200 LOOATE 38,23:PRINT "Encore, Fin, Iipriwr,Ci95s
et ■ i E,F,LC )"
4210 Q*=UPPERt( INKEYÎ ) ; IF Qt = ' : E" THEN RUN
4220 IF Qi= ! T ! TKEN GOSUB 5000'PRINT#8,CHR$i27!°?"
PRINT 0KR»(7);G0T0 4200
4225 IF QI="C" TKEN 2100
4230 IF MOT" THEN 4210
4240 MODE 1 ; I NK 3,1:INK 1.24: BORDER 1; PAPER 0:PEN
4250 LOCATE 11,12:PRINT "VOUS POUVEZ ETEINDRE. !i ;PR
INT:PRINT
42 AO EN!":
530O 'IMPRESSION (EPSON)
5010 PRINTfS,CHR$i27i"§";SPCf!40-LENïTST$})/2î:TIT
$:PRINT»8
5020 FOR 1=1 TC N
5030 PRINTtb. USING "#I";I; :PRINTI8," : ";
5040 PRINT#8,NM$( I ) ; SPC( i 5-LEN ' NK* ( I) ) ) : " = ".'
505O PRINT#8,USING"M.*r , Cft(ï,2)*100;
5060 FRINTI8," % (";Cft(I,iî;"!"
55070 NEXT
5030 D RINTS8:?RIN"*3,SPCii2!;"Sur un TOTAL de";TNB
5090 FOR 1=1 TQ (62-N) : PRINT#8 : NEXT
=;:oo cnvr?, 56000
56C4U
56050
55050
56070
56080
56090
56100
56110
56130
5:140
56150
56160
56170
561SO
54190
56/30
56 ? 40
lEG;PLOT X. + h, Y , i+COL
DRftï RtCGÎi ï/i : + " . RïSINi A* : +Y : NEXT
RETURN
'KA3D COPY MODE 2 sur- EPSON
PRINT #8
PRINT *8,CHRîî27î :CHR*\64) :OHR$'27) : "r
PRINT S3,CKRiîl3)
PRINT *8,CHSt.'15I;
FOR COL=4?152 TO 49231:1=0
FOR LI=COL TO COL+S920 STEP 80
FOR T=LI TO 11+14336 STEP 2048
1=1+1 :2(!)=PEEK!T); IF 1=200 THEN GOSUB
NEXT: NEXT: PRINT #8,CHRî(133 ; NEXT
PRINT'»8,CHRiï27!:"K";CHR$(100!'CHRi(0*
FOR J=200 TO 151 STEP -1:P=Z«J)
PRINT St9,CHR$iP) CHR$(0);:NEXT
PRINT #8,OHRi!2"W K X"'GHRinnO):CHP$ ; Oi
"(M 1=150 TO 101 STE? -l:P=2CS
PRINT *8,CHR$!p! : fHRii0i: NEXT
PRINT »3.CH3«i27),"K";CHR$U00):GHR$<Q)
FOR 5=100 TO 51 ETE* -i;P=Z\J!
PRÏ V- 43,CHSI(P!;CHRt(0i; :NEXT
PRINT 13 . GHRï I 27 ï ; "K" ; CHfii ( ! 00 ! ; CHRt ; î
r OR 1=50 TC : STEP -i;P=Z<J)
PRI MT Ità.CHRÎipi.CHRîiO 1 : *IEXT
RETURN
> FIN CF î 'S? T KG
21
Ce programme compte 3 parties :
BIORYTHME
Entrez votre date de naissance et
la date du jour ; vous obtiendrez
votre position sur les cycles intel-
lectuel (33 jours), émotionnel (28
jours) et physique (23 jours) :
haut, bas ou critique. Les droites
verticales en pointillés indiquent
la portion des 5, 1 0, 1 5, 20, 25 e
et dernier jours du mois, et la
droite, en trait plein, le jour
demandé.
ZODIAQUE
Entrez votre date de naissance,
et vous saurez votre signe du
zodiaque chinois (1 signe par
année) et votre signe du zodiaque
français avec les décans (atten-
tion : les limites des différents
signes peuvent varier selon les
sources).
CALENDRIER PERPETUEL
Entrez votre date : vous obtien-
drez le jour de la semaine, le rang
du jour dans l'année, le nombre
de jours restants et le calendrier
du mois.
Valable pour les années à 5000
(donc entrez 1 985 et non 85) et
tenant compte du passage du
calendrier julien au calendrier gré-
gorien.
A la question "suite ?", répondre
par 0, 1 ou 2 selon les explica-
tions du sommaire.
! REM VIE PRATIQUE
2 REM COPYRIGHT ERIC GROUSSARD
10 MODE l: BORDER
20 PRINT "
30 PRINT
40 PRINT "
50 PRINT
60 PRINT "SUITE
70 PRINT "
30 PRINT "
90 PRINT
100 PRINT "
120 PRINT
120 PRINT
130- PRINT
140 PRINT
150 PRINT
160 PRINT
170 PRINT
130 PRINT
190 PRINT
200 INPLT S
210 GL3
lli IF S=0 THEN END
230 GN S GCTO 270,1290
240 REM— -----
250 REM BIORYTHMES «S:
260 REM -* rrr --
270 PRINT "DATE DE NAISSANCE
280 INPUT "J=";J1
290 :n?ut "n=";m
300 INPUT "A=":A1
310 IF 5=2 THEN 1290
320 PRINT "DATE ACTUELLE : "
330 INPUT "J=";J2
M= P 'M2
A=".:.A2
INK , 1 ! I NK 1,24:INK 2,20: INK 3
FIN 10"
BIORYTHMES 1"
SOMMAIRE"
1 AUTRE PERSONNE"
2 AUTRE DATE"
SIGNES DU ZODIAQUE
SUITE '0 SOMMAIRE"
1 AUTRE PERSONNE"
CALENDRIER PERPETUEL
SUITE :0 SOMMAIRE"
1 AUTRE DATE"
?40
340 INPUT
350 INPUT
360 CLS
S'O PRINT
330 LCCATE 23,1; PRINT
"DATE DE NAISSANCE ;",JL
390 LOCATE 27 - \
400 PRINT "DATE
410 LCCATE 23,2
420 LOCATE 27,2
430 V*J2
44? ON Ml G03US
PRINT "/
ùrTtrrr i c
n_'i UbUib
PRINT "/
PRINT V
;M1;
;A1
;M2;
A2
360,2370, 2330, 2390, 2400, 2410. 2420
460,24~0
450 ON M -0SUB 23s0, 2370, 2360-2390. 2400, 2410. 2420
,2430,2440,2450.2460,24^
411
!-M
1440,2450,2460,2470
22
jUIU ù3l>
OTO 630
480 IF 32 < 100 TKhN A3=i90G+A2 ELSE A3=A2
490 A=;NT!5ô5,25î(A2-A!i'+J2-Jit|
500 IF AI/4=IHT!A2.'4) TKEN 510 ELSE 540
510 IF J2>59 THEN 520 ELSE 540
510 IF K2;2 2HEN ft=A+!
530 IF A.K2QQ0 AND ft2 1999 ÎHE£ fi=ft-l
540 PRINT "AGE-" : A; : ' JOURS 8
550 X=A «OD 33;Y=A HCC 28:2=A MOD 23
560 PRINT "BIORYTHME INTELLECTUEL^ :X;
570 LOCATE 26-4
530 IF X>1 THEN 590 ELSE 520
590 IF X<16 THEN PRINT »;HÂUT"'"-™'r
600 IF X>17 THEN 610 ELSE 620
610 IF X<32 THEN PRINT ":BAS";GOT(
620 PRIN" " IGRITIQUE"
630 PEN 3IPRINT "BIORYTHME EMOTIONNEL =\'Y;
640 LOCATE 28,5
650 IF Y>i THEN 660 ELSE 690
660 IF Y<;3 THEN PRINT V HAUT*: GOTO 700
670 IF Y>15 THEN 680 ELSE 690
680 IF Y, 27 THEN PRINT ": BAS": GOTO 700
690 PRINT " IGRITIQUE' 1
700 PEN 2IPRINT "BIORYTHME PHYSIQUE =";Z:
710 LOCATE 28,6
720 IF 2>1 THEN 730 ELSE 760
730 IF Z<11 THEN PRINT ";HAUT";GOTG 770
740 IF Z> 12 THEN 750 ELSE 760
750 IF Z<22 THEN PRINT ";BAS"lGOTO 770
760 PRINT ,; IGRITIQUE"
770 D=iX-V+34iMOD 33lE=!Y-V+29!HOD 28. F=iZ-
MOD 23
780 IF K2=2 THEN 790 ELSE 810
"90 IF A2/4=1NT(A2/4Ï THEN P=29;G0T0 830
300 P=28;GGT0 830
810 IF PI2=4 OR M2=6 OR H2=9 OR H2=ll THEN ?-'-.
83Ô
820 P=31
830 G=l
340 IF D<8 THEN 1=16*0+136
850 IF D=S THEN PLOT iôtC-31 ,248,1 iDRAW 16*0-
4,1: DRAW 16*0-7,264,1 :DRA« i 6*0+ i, 25e, 1 ; GOTO
860 IF 0)3 AND D<25 THEN I=400-Î6*D
670 IF D=25 THEN PLOT 16*0-31,16,1 :DRA« lé*C-
1 ; DRAW 16*0-15, 3, 1 : GOTO 900
860 IF D-25 THEN 1=16*0-392
890 IF 0=1 THEN PLOT
900 C=C-1 ID^D+1
15.
-OC
i - i-ii-t-
DRAW 16tG-15,I :
910 IF 0=24 THEN D=l
920 IF C>p THEN 930 ELSE 640
930 0=1
940 IF ECS THEN I=16*E+136
950 IF E>7 AND E<21 THEN I=36Q-16*E
960 IF E>20 THEN Ï=16*E-312
970 IF 0=1 THEN PLOT 1,1,3 ELSE DRAW 16*0-
980 0=0+1 :E=E+!
990 IF E=29 THEN E=l
1000
•P THEN 101
<6 THEN
!ô*F+13t
1030 IF F>5 AND F<18 THEN I=320-l6*F
1C4C !F F>17 THEN !=16*F-23:
1050 IF 0=1 THEN PLOT 1-1,2 ELSE DRAW !ô*C-15
1063 IF F=5 THEN DRAW 16*0-3-228,2
1070 IF F=17 THEN DRAW 16*2-11 ,44,2 : DFt?-W lè*C-
1080 0=0+1 ;F=F+1
10*0 IF F=24 THEN F=:
1100 IF C;P THEN i 1 10 ELSE ,020
1110 FOR 1=1 TO 640
1120 h
u\j i i j ij
: , i ; n.
• p"-* - =■ t " *• ! pr~;T ^n=; î '; pl_jT 3?5 ~.
_ - L" ,
- : ";1 Ï'CVT ;
; 130 PEN 1 1 IHK 1-24
1190 LOCATE S3-12 ! PRINT "HAUT"
1700 LOCATE 33,l7:PRINT "CRITIQUE"
12:0 LOCATE 33:21 ; PRINT "BAS"
■ 2?0 ^OCATE i,?:?RINT PRINT Kî A3
!??0 LOCATE 25, S INPUT "SUITE 0,1. 2";S
1240 CLS
înô REM ZODIAQUE CHINOIS ^
i r 'Q"j XV T^^
■ ? : ;q sem
1310 1nfut "date de naissance u=",j;l
nput "m=",k;locate 30,1 input "a=",a
1320 if am9c0 then a=a-1900
1330 IF M=l THEN K=J
1340 IF M=2 THEN K=Jr3i
i350 IF Mi 2 "HEN K=tO
Î3t0 FOR B=0 TO 65
1280 !F B=Â IHEN 1400
• r i"--. i:nv-- û
410 IF K>=L THEN H=H+1
1420 IF H=0 THEN C$="DU SANGLIER"
1430 IF H=! THEN Cî="DU RAT"
1440 IF H=2 THEN Cî="DU BUFFLE"
1450 IF H=3 THEK C*="DU TIGRE"
1460'!? H=4 THEN C$="DU CHAT"
1470 IF P=5 THEN C*="DU DRAGON"
148") !'-' H=i THEN Ci="DU SERPENT"
1490 IF 4=7 IHEN Ci = ''DU CHEVAL"
1:00 IF H=3 THEN C*="DE LA CHEVRE"
ij;u ;r ri-'' inoi" uf- u; Sinut
1520 IF H= 1 THEN Ci='DU COQ"
1530 IF h=ll TKEN C$="DU CHIEN"
1 f 40 LOCATE 11,5 PRINT "ZODIAQUE CHINC
1550 LOCATE 5,8;PRINT "VOUS ETES DU SI
15c0 DATA 3î,50,39,2 û ,4 r -35-25-4'r:33::
1610 DATA 2£ : 4è , 36:25:44, 33-21 ,40-30-4
63 DATA _ 5
" bUiV i ûUi.
'0$
.-. ff. -.
i or?.
'•■Jï J
iDi'**,
''vT-r,
• Q:" : "
f.T - ~
î G ■" "\
"TO
• poo
23
IB!3 IF J(D2 THEN N=2;G0T0 1S4Û
1820 IF I<D3 THEN N=3'GOTO 1840
1330 N=1I
1640 K=N+lC*K'L=INT{N/iO) :P=N-10tL; L=L+9 : IF L>12 T
KEN L=L-12
1850 R*=«ID* « "BELIER TAUREAU GEMEAUX CANCER
LION VIERGE BALANCE SCORPION SAGITT
AIRECAPRICORNEVERSEAU POISSONS \10*L-9,10)
1860 IF P=l THEN T$="ER ,: ELSE T*="ENE "
1870 LOCATE 10.14;PRINT "ZODIAQUE FRANÇAIS"
1380 LOCATE 5,17;PRINT "VOUS ETES ! ';Rt'" DU";p:T*:
"tjECiH"
18^0 LOCATE i ,25, INPUT "SUITE=0,i";S
1900 CLS; RESTORE ; ON S+l GOTO 10,1310
1910 REM
1920 REM CALENDRIER PERPETUEL S
1930 REM -SÏT--
1°40 DIM P(12)
1950 INPUT "DATE ; J=", J ; INPUT " M=",M:INPUT "
A-" A
i960 '*=J:Jl=O:P(l)=3l:P(3)=31;P(4)=30:P(5)=3l:P<6)
=30 ; PC 7)=31 ;P? B) =31 :P(9)=30 :P( 10 )=3î ;P< 11 >=30 :P< 12
) = 31
1970 IF ft/4=INÎ(A/4) THEN Pi2>=29 ELSE P(2)=2S
1980 IF A/400=INT!A/40ÛJ AND A>1 600 THEN PC2)=28
1990 FOR N=l TO 12
2000 IF N=fl THEN N=F!N):GOTO 2030
2010 J=J+P(N?
2020 NEXT N
2030 IF V>N THEN 2080
2040 IF A<1582 THEN 2090
2050 IF A? 1582 THEN 2100
2060 IF J<=277 THEN 2090
2C70 IF J:-=288 THEN 2100
2080 LOCATE 9,12:PRINT "CE JOUR N'EXISTE PAS,' ! ;GOT
2340
2090 E=4:G0TQ 2110
2100 E=l
2110 FOR 1=17 TO 50
2120 IF i/4=INT!I/4) THEN 2140
2130 IF A> 1*100 THEN E=E-.l ELSE 2150
2140 NEXT I
.2150 IF P(2;=29 THEN E=E-1
2:cC E=INT:!,25ïA)+J+E:B=B MOD 7
2170 ON fi GOSUB 2360, 2370, 2380, 2390, 2400, 2^10, 24?0
-2430. 2440, 2450, 2460, 2470
2130 *=0:!F V=l THEN Tt = 'ER " ELSE ?* = ""
2190 IF M THEN S$="ER " ELSE S$="EME "
2200 Ci=MID*rDIKANCHELUNDI MARDI MERCREDI IEUD
I VENDREDI SAMEDI ",818+1.8)
2210 OLS : LCCnTE 5,2:PRIMT "LE";V.Tt;K< A: "EST UN "
05
2220 .OCATE 5,4;PRINT "C'EST LE :) ; J'S*. " JOUR DE L'A
NNEE"
■6:FRINT "IL RESTE" :337+p;2î-J;" JOURS
Luoriih
2240 LOCATE 13-9;PRINT K$:" ":A
2250 LOCATE 10.1! :PRINT "L M H J V 5 D"
22c0 IF A=!582 AND H=10 THEN LOCATE 10,!3;PRINT "1
2 3 4 15 16 17";LOCATE 10,15;PRINT "18 19 20
21 22 23 24':LOCATE 10,1?:PRÎNT "25 26 27 28 29 30
31" :GOTO 2340
2270 r =S-iv «CD 7 )+3:F=F MOD 7;ï=13:IF F=0 THEN F=
2290 LOCATE 3ïF+6,Y,IF Î=V THEN PEN I
2300 PRINT I
2310 F=F*!;IF F=R THEN F=î ; ¥=¥+2
1320 NEXT I
2330 PEN 1
2340 LCCATE 1,25; INPUT "SUITE 0,1" ;3
2350 CLS: ON S+l GOTO 10,1950
2360 ï=0K$=" JANVIER': RETURN
2270 w=31:Kî="FEVRIER":RETURN
2230 ï=59.K$= "MARS": RETURN
23°2 *=90.Ki="AVR!L" RETURN
2400 ¥= î 20 : K $= " HA I " : RETURN
2410- ï=15l;K* = " JUIN" :RETURN
2420 Î9=:61 M = " JUILLET" :RETURN
2432 W=212 Kt="AOUT":RETURN
2440 ï=:43:Kï= "SEPTEMBRE": RETURN
2450 8=273 ;Ki= "OCTOBRE". RETURN
24*0 a=30i K$= "NOVEMBRE": RETURN
2470 «=334:1*1= "DECEMBRE"; RETURN
&LSL rtH 1
KILOBYTE
Imaginez que votre AMSTRAD
vient de tomber en panne : il ne
lui reste plus qu'un kilo-octet de
mémoire...
Vous ne connaissez que le Basic
(langage machine s'abstenir).
Saurez-vous écrire des program-
mes originaux performants qui ne
tiennent que dans ce kilo-octet ?
Nous attendons vos propositions,
en Basic seulement, ne l'oubliez
pas, et sur cassette. Accompa-
gnez votre envoi d'une brève des-
cription. Les cassettes vous
seront retournées si vous le
demandez.
Alors, tous à vos claviers ! Il faut
réussir à loger le maximum d'in-
telligence dans un kilo-octet...
Les meilleurs programmes seront
mis à l'honneur dans CPC.
APPEL AUX LECTEURS
CPC est la revue des utilisateurs
d'AMSTRAD. ô combien de
nuits blanches et de mètres de
papier d'imprimante ont défilé
avant que votre splendide utili-
taire ou votre jeu d'arcades ne
fonctionne. Pourquoi rester dans
l'ombre ? Faire connaître son tra-
vail et son nom aux autres pas-
sionnés sont déjà une belle
récompense ; quand, de plus, ce
travail peut être rénuméré, pour-
quoi hésiter ?
Vous qui avez réalisé une carte
d'extension ou un logiciel dont
vous êtes fier, contactez sans
plus attendre la rédaction de
CPC : nous vous expliquerons
comment être publié. Tiens ? Le
téléphone sonne déjà !
24
Stéphane CLOIREC
e programme est inspiré du
film "TRON" de Walt Disney.
Il est basé sur le célèbre duel
à moto entre le héros et le
M.C.P. (comprenez : Master
Control Program, le software
qui dirige l'ordinateur des
jeux).
Entièrement en Basic, il permet
de jouer à deux ou tout seul et
comprend quatre arènes différen-
tes. On peut utiliser indifférem-
ment le clavier ou les joysticks
(pour plus d'explication, tapez le
programme et lisez attentivement
les instructions).
Il vous faudra tout d'abord ren-
trer le Loader, le premier petit
programme, le sauver sur cas-
sette ; puis tapez le listing prin-
cipal (les deux programmes peu-
vent être sauves sous n'importe
quel nom).
1040-1080 :
Place la "Warp-Box" à
l'écran
1120-1160 :
Présentation, instructions
1680-1880 :
Sous-programmes utilisés par
instructions
1920-2030 :
Menu principal, choix du type
de jeu
2070-2140 :
Les différentes arènes du
duel
2180-2280 :
Initialisation (ink, coordon-
nées, enveloppes,... )
2320-2430 :
Arène libre
2470-2540 :
Arène labyrinthe
2580-2620 :
Arène aléatoire
2660-2680 :
Arène de la mort
2720-2940 :
Routines sonores
STRUCTURE DU JEU
120 :
Test jeu à 1 joueur/Jeu à 2
joueurs.
160-290 :
Routine principale à deux
joueurs (test de clavier, de
collision, fuel...).
330-500 :
Fin de jeu
540-630 :
Nouvelle partie
670-790 :
Routine principale à un joueur
(cf. 160-290)
830-880 :
Fin de jeu
920-1000 :
Nouvelle partie
40 KDE 0' INK 0,0;EORDER 0;PEN i ; PAFER
50 INK !.2;L0CATE 2,5;PR!NÎ"tt* LA3ER-BÏKE îtt"
iO ORIC-IN 2Q,345:DRfi'*'R 600,0,1 :DRrïR 0,-37, 1:DRAÏ
-600,0,1 ;BRnwR 0,37,1
70 INK 2,6" ^EN 2;L0CfiîE 7,1Î:PRI8T CHR*Uà4!; n 1?
m sieyiidi:
OLOifi
90 0R1GIN 34, lt?;DRA¥R 504,0,2
100 INK 4 , B : PEN 4:L0CnîE 1,21 îPRINT'Ghargeiient en
25
90 GOSUB 2150; ' initial isations
100 GOSUB !!00; ' instructions
110 GOSUB 1390: ' «tenu principal
120 ON op GOTO 160. 5 7
130 '
1 4 C ' routine principale pour ieu a deux joueurs
150 '
160 FLOT xb,yb,l:FLOT xr,yr,2
170 SOUND 1..100,l,7,l,î
180 IF INKEY ibd>=0 THEN xbl=l !ybi=0 ELSE ÎF îNKEV;
bg)=0 THEN xbl=-i:ybl=0
190 IF IWŒY(bh)=0 THEN xbl=C:ybi = i ELSE IF INKEY;
bb)=0 THEN xbl=0;ybl=-l
200 IF INKEY<rd)-0 THEN xrl=l;yrl=0 ELSE IF INKEYs
rq)=0 THEN xrî=-l;yrl=0
210 IF 'NKEYirh)=0 THEN xrl=0;yrl=] ELSE IF INKEY !
rbi^O THEN xrl=0;yi"l=-l
220 xb=xb+4*Kbl ! yb=yb+ybi*2
230 xr=x?+4txr i : yr=yr+yr 1*2
240 fue!=fue)-î:IF f uel=0 THEN GOSUB 2830 ; GOSUB 27
30; GOTO 300
250 PLOT 52B,36ï,7;PSINT USIHG't»*" Mue! :
260 bcra5h=TESTixb,vb! ;rcrash=TESTUr ,yr î
270 IF bcrashM OR rcrash=4 THEN 290 ELSE IF bcras
hOO AND rcrashOO THEN GOSUB 2910:GOSUB 2830:GOSU
B 2730: GOTO 300
280 IF bcrashOO OR rcrashOO THEN GOSUB 29!0:GOSU
B 2830;GO5UB 2730:G0TO 410
290 GOTO 160
300 '
310 ' Mort des deu?! joueurs ou panne d'essence
320 '
330 MODE llLOCATE 12,3:PRINT"TR0N'S LASER-BYKES";P
EN 2;LOCATE 12,4:PRINT"=================="
340 PEN 3 ; LGCATE 1,7; PRINT" Champions, vous vous e
tes bien battus."
350 PRINT: PRINT" Nais votre duel s'est termine d
■'une manière assez décevante. Le U.C. P. va vous
dire ce qu'il en pense.. . ";PEN 1
360 IF fuel=0 THEN PRINT: PRINT" Vous n'avei pas eu
assez de fuel pour mener a terme ce combat qui d
evait être mortel. Vous ne méritez donc pas qu'on
vous laisse la vie sauve !!!":GOTD 380
370 PRINT: PRINT" Vous avez ete assez stupides pour
vous exterminer mutuellement, Votre place n' est
pas dans cette arène, mais aux minesde silicium de
Soracom-city il! "
380 PEN 3 : LOCATE !,18:PRINT" Néanmoins, dans sa qr
ande sagnan imi te, le H. O.P. vous laisse une chance
de vousrattrapper, °
2^0 LOCATE 6,22:PEN 2PRINT J 'Ne la laisser pas echa
pper !'!'
400 GOTO 540
410 '
420 ' Mort d'une des deux laser~byltes
420 '
440 MODE 1 : LOCATE 1 2.3 ;PRINT"TRÛN'S LASER-BYKES":p
EN 2:LOCATE 12,4:PRINT"=================="
450 PEN 3: LOCATE 1,7: PRINT" Champions, vous vous e
tes bien battus."
460 IF bcrashOO THEN cou! $ = ,i rouqe";rsco"e=?score+
1 ELSE ccul t=*bleue" :bscore=b5core+l
470 PRINT;PRÎNT" Hais le conducteur de la iaser-
donc
rouir s'est reve'e le plus fort. C'est":
accorde une victoire
pus i e * .
en plus.
480 LOCATE 17,15:PEN i; PRINT "SCORE *' LOCATE !7,16:P
EN 2:PRINP— = r =":PEN 3
490 LOCATE 10,19: PEH 1 :PRINT" Joueur Bleu "::P
EN 2:FRINT bscore
500 LOCATE 10,21 : PEN 2:?RINT"Jousur Rouae ";:P
EN l;?RINT rscore
510 '
520 ' On re.oue ?
530 '
540 LOCATE 1,24, PEN HPRINT" Appuyez sur la tou
:he 'ENTER'... ";a$=INREY$; IF a$=""THEN 540
550 IF a$OGHR$ï!3i THEN 540
560 SODE l:FOR n=-15 TO 15:SOUND 4,ABS(rt)*lû,5,15,
0,0,ABS(n) NEaT;LOCATE 12.3;PRINT"TRON'S LASER-BYK
ES": PEN 2: LOCATE 12,4:PRIHT"===«============="
570 PEN 1 : LOCATE 7,7:PRINT !i vculez-vous re t ouer 1
( O / N )"
580 at=INKEY*;st=UPPERîiaî} ; IF a*<>"0" AND alO'H"
THEN 580
5*0 IF ai= !| N"THEN 110
600 LOCATE 7,9;PRSNT"On change l'arène ?
! O / H )"
610 a*=îNKEYt:a$=UPPER1<al):IF a$O"0" AND aiO'N"
THEN 610
62C IF at="N"THEN GOSUB 2!50:GOSUB 2!30:GOTO 120
630 GOSUB 2 150: GOSUB 2070; GOTO 120
640 '
ù6U
670 EI;AFTER ternes GOSUB 1010
680 PLOT xb,yb,i
69C SOUND 1.100,1,7,1,1
700 IF :NKEY(hc)=0 THEN xbl=l ;ybi=0 ELSE IF INKEY(
bg)=0 THEN *bl=-l;ybl=0
710 IF INKEY;bh)=0 THEN xbl=0;ybi=l ELSE IF INKEY!
bbS=0 THEN xbl=Q;ybl=-i
72û xo :: xbi-4ixbi ;yb=vbtybi-'2
730 fueî=fuei-l;IF fuel =0 THEN GOSUB 2830:GOSUB 2^
W¥§k^wm2mmm^ m y
b>16*iy-i)THEN vic=l ; GOSUB 2B70:GOSUB 2780, GOTO 33
7 70 ÎF bcrasM THEN 680 ELSE IF bcrashOO THEN GO
SUB 2510: GOSUB 2830 : GOSUB 2790:GOTO 830
780 xi=IHT(RND«14»+14:yi=INT<RHDt320}+t:PIjOT xm,v
!» ■ ! 2
790 GOTO 680
tOO '
8i0 ' Fin de jeu
320
830 KCDE Î:D::L00ATE 1 , 3 : PEN 2, PRINT"
■; LOCATE 10,4;PRINT" : "; ;PEN ;;PRINT" TRO
N'S LASER-BYKES ""PEN 2, PRINT" : " :LOCATE S0 r 5 : PRIN
T,l! B
B40 fcUunlL l,o rtk irHilU vous rvez essdyr ue v
dus mesurer avec le Haster Control Prcgram, mais
celui- c' n'est jamais a court de ressources ."
350 IF fue;=0 THEN LOCATE 1,12;PRINT" vous n axe:
même pas eu asseï de fuel pour l'inquiéter :î |8 ;t
emps-te'ips-lC0;5OTO '20
660 IF vi"l THEN uOCATE 1 -:2'PRINT ; Pou'tant , vous
a--ez ncwi'eneflen* 'sussia 'e mettre en déroute..
. ' .PRINT""--';'.:; poi-vez, tien-sur, rester sur cette v
26
intN mscore-mscore-*
880 IF vi
390 '
900 ' On r-foue '
910 '
920 LOCfiTE 1,18: PEN liPRINT" Neannoins, voulez-v
ous refaire une uns partie contre moi ' I
/ N !"
930 a$=INKEY$:a$=UFPER$ïa*);îF a*<>"0" AND a$<>"N"
THEN 930
940 IF a$="N"THEN GOTO 110
950 LOGATE 15,21; PEN 2:?RINT"HA! HA 1 HA 1 ,..";FOR
i=l TO 500:NEXT
960 LOGATE 4,23;PEN î ;PRINT"Qn change l'arène ?
( / N )"
970 d$=!NKEY$:a$-UrPER$ia$);IF a$<>"0" AND a*<>"N"
THEN 970
980 GOSUB 2150
990 IF at="N" THEN GOSUB 2130;GOTO 120
1000 GOSUB 2070; GOTO 120
1010 '
1020 ' place le but a atteindre
1030 '
1040 ïftGOFF:x=INT (RND*18)+2:y=INT !RND*17)+7:LOCA
TE x,y;PEN 13:PRINT CHR*(181): TAG
1050 y=26-y
1060 GOSUB 2760
1070 Dl
1080 RETURN
1090 '
1100 ' instructions
1110 '
1120 MODE l; BORDER
1130 LOCATE 10,1; PEN 2
114C PR1NT ! ' ":GOSUB 2800
1150 LOCATE 10,2;PRlNT"; l! ;GOSUB 2800
1160 LOCATE 10,3;PRÎNT" »;GOS
UB 2S00
1170 Pffl l:CH$="TRON'S LASER-BYKES"
1180 SOUND 7,60,150,15,5,0
1190 FOR j=l TO 18
1200 LOCATE 4!-i.2;PRINT LBTfkht, i)
1210 NEXT
122C FOR j=22 TO 12 STEF -1
1230 LOCATE j,2;PRINT ch$
1240 NEXT i
1250 FCE j=40 TO 30 STEP -1
1260 LOCATE .i,2;PRINT" !l
1270 NEXT i
1260 LOCATE 3 i , 2 : PEN 2;PRlNT""";GOSUB 2800
1290 ch$=" Instructions": GOSUB 1680
1300 GOSUB 1750
1310 PEN 3; LOCfiTE 4,8;PRïNT"Bienvenue a vous, Guer
rlers du Futur' ".'"Vous venez de pénétrer dans îe n
onde duret impitoyable des jeux videos, ou seulsle
s plus forts, les plus rapides peuventesperer sur-v
ivre quelque temps, ■ ,"
1320 LOCATE 4,!4;PRINT"Vous a^ei ete choisis pour
participer";"* ce duel par le Haster Control Prog
ramîfl.C.P. pour les intiseslLe combat ne setersine
ra que par la mort d' un des deuxtonbattants."
1330 PEN 2;LOCATE 4 , 20 : PRINT" Inut i le de fuir;"::pE
N 3;PRÎNT"Une fois le programme": "engage, le due!
est inévitable. Vos sortssont maintenant lies a cel
ui du H. CF."
1340 GOSUB 1820
1350 GOSUB 2720
1360 chî="But du Duel '"GOSUB 1630
1370 GOSUB 1740
1 JOf, PPM
iqi *; lX-AÎE '.H PRINT" Vous allez être places a
uï commandeede nouveaux engins-tueur ; les LASER-BYK
ESCe sont, en quelque sorte, des motos quilaissent
derrière elles un sillage faserdont le contact es
i nor tel»
1400 PRÎNT;PR1N T " Votre but sera , bien evideaa
ent, défaire 'crashe:*' l'autre conducteur sanspou
t autant en faire de même !"
1410 PRINT F'RINT" De plus, pour être en accord
avec 'ae'ec sion du Haut Commissaire des Jeux,!eK.C
, y a ! : Si i.e :a consommât :on de tue' a999 Feqacred
ta au départ."
1420 GOSUB 1620
1430 GOSUB 2"20
1440 ch5="Var;antes";G0SUB 1680;GOSUB 1740
1450 PEN 3;L0CATE 1,S:PRINT" Vous pouvez, bien-
entendu, combatt'ea deux joueurs , mais vous avez
aussi l aposs ib> l i te de *ous re-entrainer ccn'rele
1460 LCCATË 1,13, PRINT" - Dans le Duel a deux,
chacun dlrlgeune Laser-Bvke."
1 4"0 PRINT'PRINT" - Contre le H. G. P. ' Celui-ci
envcledes aines qu'il faut a tout prix évite? jus
qu'a l'apparition du ":;PEN 2: PRINT"' WARP-BOX'"; :P
EN 3 FR1NT" . qu , " • ' permet , s i or ^'atteint, oe s'e
chapper del 'arène,";
1480 PRINT' (Vous utiliserez la Laser-Byke Bleue)' 1
1490 GOSUB 1320
1500 GOSUB 2720
1510 :ht="Gommandes":GCSUB !680;GCSUB 1740
1520 PEN 3 'LOCATE 1,8
1530 PRIN r " Voici les commandes dirigeant les deu
154C~PRIKT;PEN 1 :PR!N?"Lase?-Byke B'eue":;PEN 2;PR
i.~i: Laser tsvKe itouoe
1550 PEN 3: PRINT" A " 4
1560 PRINT" X
1570 PRINT"
iOOU buOUB Idill
; cc'i -■-, cira 07 ?n
1600 chî= 'Arènes de Combat": GOSUB 1680' GOSUB !'
1610 PEN 3:L0CATE !,6:PRINT" Enfin, le Due'
ut se dérouler suri 'une des quatre arènes , de
f 'cul tesd i f f erentes , que possède le M.P.C,"
i 3 ; PEN liPRÎNT
Happeiez-vous
4U
ce
dit"
to
ujours que TRON lumeme a fini par être vaincu
le H.P.C
1630 PEN 3 : PRIN?"Ause i ,n 'esterez pas de victoif
is4û LûCfiîE 3,1?: PEN Z . r'Rihl '.Nés'-.: ~s. &c nr e l' r sx-
1660 RETURN
16^0 FCR i=l TO LENichtl: LOGATE ,,5
1700 PRINT HIDi!chi.i,l);30UND 2,!NT(RND*957'M
1710 r OR at=l TO 50 NEXT at
1"20 NEXT i
1730 RETURN
FOR -i TC LENichi:
JOrtiE
27
1773 PRINT "=": SOUND 2,INTIRNDï957i ,5,15
i 780 FOR at=S TO 50:NEXT ai
1790 KEXT i
1800 RETURN
181C '
1820 PEN l:ch*="Lftppuyei sur une touche]"
1830 FGR i=î TC LEN(chî) ; LOCrîTE i +8,24
1840 PRINT MIDi;ch$,!,l!;SOUND 2,INT(RND*957),5,15
1350 FOR at=l ÎO 50;NEXT ai
1860 NEXT !
1870 CALL &BB18
1080 RETURN
S 890 '
• 900 ' Menu principal
1910 '
i?20 MODE 1
1930 GOSUB 2150
1940 PEN 1; PAPER 0; BORDER
1950 b5core=0;rscore=0!ïscore=0:teips=1000
i960 FOR n=-15 TO 1 5 : SOUND 4,ABS!n)*!0.5,i5,0,0.AB
S(nS;NEXT
1970 LOCATE 10,3;PEN 2:PRINT"
-":LOCftTE 10,4:PRINT"; U ;:PEN 1: PRINT" ÎRQN'S LASER
-BYKES !! ;:PEN 2;PR!NT" ;";LOCATE 10,5:PRINT"
1980 LOCATE 8,9: PEN 3:PRINT"1 Joueur contre Joue
ur";LOCATE 8. 11 :PRINT !I 2 Joueur contre !e M, O.P."
; LOCATE B,13:PRINT"3 Arrêt du jeu"
1990 PEN 1 : LOCATE 1 , 16;PRINT"Cho;sisse2 votre opti
on' (1,2 ou 35 ; s :op=VAL(INKEY$);IF op<! OR oo>3 T
HEN LOCATE 33,16;PEINT " ":GQTQ 1990
2000 ÏF op=3 THEN PEN 1 ; MODE 2:END
2010 LOCATE 4,21; PEN 2;PRINT li Clav!er ou Joystick ?
■■ G / J ) : !T :rep$=UPPER*!ÎNKEY«):!F REPîO"C"AND
REP*0"J"THEN LOCATE 38,21 :PRINT" ":GOTO 2010
2020 IF REP$="C"THEN rd=5:rg=14:rh=20;rb=13;bd=62;
bg=à3:bh=69;bb=71 IGOTO 2070"
2030 bd=75 : bg=74 ; bh-72 ' bb-73 : rd=51 :rg=50 : rh=48 ; rb=
49
2040 ;
2050 Choiï de 1' arène de coabat
2060 '
2070 CLS:FOR n=-15 TO i 5 : SOUND 4,ABS(n)tlÔ,5,15,Q,
0,ABSinî;NEXT
2080 LOCATE 10,3: PEN 2;PRINT"
-":LOCATE 10,4:PRINT";";;PEN 1 SPRINT" TRQN'S LASER
-BYKES ";;PEN 2:PRINT !, :":LOCATE 10,5: PRINT"
2090 LOCATE 1 , 8 : PEN lîPRINT "Les différentes Arène
s de Combat : H
2100 LOCATE 1,9: PRINT »=====================
2110 LOCATE 3,12: PEN 3:PRINT"1- Arène ouverte" :LO
GATE 3,14:PRINT"2- Arène-labyrinthe"; LOCATE 3,16:
PRINT"3- Arène a' eato i re" ; LOCATE 3,1S;PRINT"4- A
rené de ia Mort"
2120 PEN 1 : LOCATE 1,21 ;PRINT"Cho!s;ssez votre opti
on {1,2,3 ou 4) :": iab=VALi INKEY* ) ; IF !ab<! OR iab
>4 THEN LOCATE 39,21 iPRINT" ":GOTO 2120
2130 ON !ab GOSUB 2290-2440,2550,2630
2140 PEN 1: RETURN
2150 '
2160 ' in i * i ai i sat i on
2180 INK 0-0-INK 1,2; INR 2,6;INK 3,l8:INK 4,13 !NK
5,li;INK 6,15:INK 7,24: INK 8,2; INK ?,6;INK 10.8:1
NK il,4;INK 12,20; INK 13,19,16
2190 xb=270:yb=20: s^=370: yr=310
2200 xrl=0:xbl=0:yrl=-l:ybl=l
2210 fue'-999'vic-0
2220 ENv l,9,l,i,l,0,5,9,-l,2;ENT 1,5,
10.1,1,10,-1,1,5,1,1
"30 ENV 2,15,-1,13
0,10,1,10,-12.1
i.l.
2240 ENV 3.15.-1,30;ENT -3,10
2250 ENV 4,15,-1,4
2260 ENV 5,30,2,5
22 7 RETURN
2280 ENV 6,!5,-i,ï;ENV 5 15,-1 , 1 : ENT 1,30,10,1
2290 '
2300 ' Arène ouverte
2310 '
2320 MODE
2330 DRAWR 0,330,4 ; DRAWR 639, 0,4; DRAWR 0,-330,4; DR
AWR -639.0,4
2340 PLOT 8,4,5; DRAWR 0,322, 5: DRAWR 622 . , 5 : DRAWR
0,-322, 5: DRAWR -622,0,5
2350 TAGlPLOT 0,399:DRA¥R 639,0 ; DRAWR 0,-50: DRAWR
-o39,0:DRAvJR 0,50; PLOT 0,374: DRAWR 639,0; PLOT 304,
3'4:DRAUR 0,25
2360 PLOT e,392,£:FRlNT a BLEu,., : "
RINT"RO:jGE... b ;
2370 PLOT 8,366,ô;PRINT !l FUEL RESTANT
2380 ON op GOTO 2390. 24 10
2390 PLOT 8,392,3 D R!NT"BLEU
RINT"ROUGE,, "
Il ^O- Ç,D
HT ',
Dl (YT '314 "S' Q • P
p,T Ç
niiu niju-jD,,,
2400 PLOT 234,392,9;PR1NT USING"f#" :bscore' iPLOT
74,392, 8;PRINT USING"M":rscore; :GOTO 2430
2410 PLOT 234,392,9;PRINT USING"**";bscore; ,PL0T
7â qo? Q.ûPïht 51QT WCii* " '«crr,«a '
74,392,a;PRINT~USING"#r ; »5co'e;
2420 PLOT 8,392,8:PRINT : '3LEU,, ,' ! ; ;Pi
D!»!T»M r û » •
RINT'K.C.P..
2430 RETURN
316,392,9;p
Arene-iabyr inthe
-jon crv t i
24 G :arl$=CHR<U50)+CHR*(156)
2500 •:ar2«=CHR$(147)+CHR*(153)
2510 TAGOFF
2520 FOR i=2 TC 18 STEP 4; FOR j=7 TO 22 STEP 3 : LOC
AXE i , j : PR I NT carli;LOCATE ; , j+1 :PRiNT car2*:NEXT
t . i
2530 IAG
2540 RETURN
n c c -
25&0 Arène aléatoire
2580 GOSUB 2290
2590 PEN 10
2600 :3H$=CHR$!238S
26.0 TAGOFFiFOR :-! TO .
Dllt '+7 LOCATE -<,y:rRINJ car;* ?ŒXI lîlftfe
2&20 RETURN
s=INT(RND*i8>+2lv=!HT<RN
2c70 FOR 1=1 TO 20;x^;NT;RND:f590H20 , â=INT\RNDl5 ç
! +20 ; v-INT (RNDÏ295 ; +20 ;b=INT( RND*295 ! +20 ; PLOT » , y ,
1 2 DRAW à,b,12;NEXT ;
2:7: ÏAGOFF FOR -i TO 1 9 ; LOCATE 10, ;+5;PRINÎ" "i
NEXT ' TAG
2sb0 RETURN
28
2720 MODE î
2730 FOR n=-15 TO i 5 : SOUND 4,ABS!ni:i:lO,5,15,O.0,!ÎE
S(n):NEXT
2740- LOCflTE 10,1; PEN 2;PRINT"
- ! ':LOCATE 10,2;PRINT" : " ; :PEN HPRINT" TRON'S LnSEP
-BYKES '";PEN 2;PRINT":";LOCnTE iû,3;FRINT"
2750 RETURN
2760 FOR n=l TO 20:SOUND 4,300+ÏNTîRND*500i,B:NEXï
2770 RETURN
27S0 FOR a=l TO 25;OfiLL ÎEC4D; SOUND 135, <a+10)*4.0
,15,3,3:NEXT
2790 RETURN
2800 SOUND 7,0,60,15,4,0,1
23 î FOR a=l TO 400:NEXT
2B20 RETURN
2S30 RESTORE 2850
2840 SEAD noie, dur :1F note=-S THEN 2S60 ELSE SOUND
4 : nnte,duf ,0,2;GOTO 2840
2850 DATA 1911, 120.191!, 80, 1911, 40, 1911,120, 1607. 8
0,1703,40,1703,80,1911,40,1911,80,2025,40,1911,120
2860 FOR a=i Tu 2800 iNEXT; RETURN
2870 RESTORE 2890
2380 REAB note; IF note=-l THEN 29Q0 ELSE SOUND 4-n
ots,20,15,l :GOTO 2380
2890 DfiTn 60,53,47, 45, 60, 0,45, 47. 45, 40, 53 , 0,53, 47,
45,36,40:40,45,45,47,53,47,60,-1
2900 FOR â-i TO IC00;NEXT:3ETURN
2910 SOUND 7,0:195,15,2,0,15
2920 FOR ;;=! TO !5;IHK 0.26;FOR a=l TO l*:NEXT:!NK
0,0. FOR a=l TO 40;NEXT a,x
2930 FOR 3=1 73 800;NEXT
2° 10 RETURN
ABONNEZ-VOUS
LE CHOIX D'UNE
LES TROIS
TECHNOLOGIES D'ECRITURE
plusieurs couleurs. A ne pas
confondre avec la "copie
d'écran" qui très souvent est
impossible.
C'est un outil quasi indispen-
sable pour programmer en
Basic dès que l'on dépasse le
stade du débutant. Une impri-
mante constitue aussi la finalité
de nombreux logiciels utilitaires,
exemples courrier (très supérieur
à une bonne machine à écrire),
éditions de tableaux, de fichiers,
etc.
C'est un investissement lourd,
mais de longue durée ; une impri-
mante ne se démode pas comme
un micro-ordinateur. Donc, deux
raisons pour ne pas se tromper :
mieux vaut économiser encore
quelques mois plutôt que d'ac-
quérir un modèle médiocre,
générateur d'ennuis de tous gen-
res.
LOG/CYS
première en Europe à présenter
ACCÈS DIRECT
sur AMSTRAD CPC 464 & 664
sous le nom de
UDOS
Pour travailler sur des fichiers INDEXES et intégrer
l'ACCES DIRECT à tous vos programmes sur
disquette.
Des UTILITAIRES de travail sont associés à ce mini
operating System.
_ _BON_DE_COMMANDE
ATTENTION : VERSION UDOS 1 - 3
D JE DÉSIRE RECEVOIR UDOS 1.3 AU PRIX UNITAIRE DE 380.00 F MC
Ole : loid : + 10 F de pon
JE JOINS UN CHÈQUE DE F
D JE POSSÈDE DEJA UDOS EN VERSION 1.2
Je vous retourne ma disquette pour avoir :
UNE MiSE A NIVEAU iveision I 3l
COMMENT SAUVEGARDER UDOS
DES COMMANDES SUPPLÉMENTAIRES
JE JOINS UN CHEQUE DE 95 F ET MA DISQUETTE 12
NOM :
CODE POSFAL
.ADRESSE
.VILLE ..
A RETOURNER A LOGOS. DOMAINE DE FAYSEAU. 33270 BOULIAC
TEL 56 20.92.5/
Les thermiques
Elles utilisent un papier spécial
qui bleuit à la température. C'est ^ aiguilles
très silencieux, assez rapide, bon u "matricielles". Jadis hors de
marché (la machine, pas le prjx (d - ou l'ancienne vogue des
papier), mais la qualité d'écriture thermiques), elles sont au-
laisse fort à désirer ; et ce n'est jourd'hui à peine plus chères que
pas photocopiable. A déconseil- )es autres . c'est la technologie
1er en micro-informatique dômes- que nous conseillons : très rapi-
tlc l ue - des (100 à 200 caractères par
seconde), très belle écriture (sauf
A stylos-billes certains modèles bon marché),
Généralement à quatre couleurs papier ordinaire, en bandes per-
(quatre stylos spéciaux montés forées standard ou en feuille à
sur barillet). Peu bruyantes, belle feuille ; au moins quatre tailles de
écriture mais d'une lenteur caractères, plus les mêmes en
désespérante. Deux avantages : italique ou en écriture "renfor-
le prix et la fonction "table tra- cée " possibilité de copie d'écran
çante", c'est-à-dire que grâce à graphique. Bref, des bêtes à tout
certains ordres spécifiques à la faire# et en pjus de ce(ai elles
machine (équivalant à PLOT et sont d ' une surpre nante robus-
DRAW), on peut dessiner, et en tesse mécanique (sauf une cer-
taine marque). Deux défauts :
:::::::-.«:::: aussi bruyantes qu'une machine
jlipjjiijjiij à écrire — une seule couleur
d'encre, le noir.
= 1 llliii: Les autres _
Pour usages professionnels très
spécifiques, à savoir les impri-
ijjiljjijjjjjj mantes à "marguerites" (analo-
gues aux machines à écrire à
boule IBM) Super qualité cour-
rier, mais très lentes ( = 15 CPS
•jjjij:!:::::: = caractères par seconde) et
caractères limités à ceux de la
marguerite installée. Plus chères
que les matricielles, leurs prix ont
tendance à baisser. Réservées
exclusivement au traitement de
texte classe PRO.
Les imprimantes à jet d'encre,
pour des tables traçantes prof es-
:::::::!::!!!: SÎOnnelleS.
Les imprimantes au Laser. Tout
pour plaire : qualité, rapidité
(environ une page en six secon-
des...), mais encore hors de prix,
même en pro. Leur principe rap-
pelle celui de la photocopie lan-
cée par XEROX.
Combien faut-il compter pour
illllillfiflll une bonne imprimante à aiguil-
30
IMPRIMANTE
les ? Entre 3000 et 4500 francs
TTC. Certes, c'est cher, mais
c'est pour longtemps. On change
de micro-ordinateur, mais on
conserve son imprimante. La
preuve, vous n'en voyez prati-
quement pas en occasion ; sauf
des modèles bas de gamme dont
on veut se débarasser.
COMMENT
ÇA MARCHE ?
L'électronique d'une imprimante
rappelle celle d'un micro-ordina-
teur : elle a sa ROM (son lan-
gage) et une petite RAM appelée
"buffer" ou "tampon". Suppo-
sons que le micro lui envoie la
lettre A majuscule, code ASCII
65, donc envoi du nombre 65 en
binaire sur un octet. Les huit bits
en même temps ; il y a donc,
dans le câble de liaison, au moins
huit fils numérotés "DO" à "D7"
(voir le schéma de la page A5.2
du manuel AMSTRAD), auxquels
s'ajoutent un fil de masse plus
deux autres de"conversation"
appelés STROBE et BUSY. Dia-
logue du genre : "Es-tu prête à
recevoir ?" "Non, je n'ai pas fini
d'imprimer... Vas-y ! ... Stop !
mon buffer est plein", etc.
Nous venons de décrire le mode
de transmission "parallèle" (les
8 bits ensemble) aussi appelé
standard "CENTRONICS" ; nom
du fabricant d'imprimantes qui
l'a lancé. C'est celui utilisé par
AMSTRAD et la grande majorité
des autres micro-ordinateurs
domestiques ou professionnels.
Toutes les prises côté impri-
mante respectent cette norme,
mais pas côté micros, d'où des
câbles spécifiques à chaque mar-
que de micros, ce qui est
complètement stupide et regret-
table.
Il existe aussi la transmission en
"série" ou "RS 232 C" (câble à
deux conducteurs). C'est (heu-
reusement !) beaucoup plus rare
et très mal normalisé. N'en par-
lons pas.
Donc, notre imprimante reçoit
pour "A" le nombre 65 : sa ROM
va commander les aiguilles de la
tête d'impression afin qu'elles
impriment tel dessin, ici le A.
Quelle forme de A ? La forme
banale, courante, prise par
défaut dès la mise sous tension
de l'imprimante. C'est la taille
"PICA", 80 caractères par ligne
de 20 cm de long. Voulez-vous
d'autres tailles de caractères ?
Facile : envoyons d'abord à l'im-
primante des ordres codés
qu'elle va conserver en RAM
dans son "buffer de consignes".
LES CODES
DE CONSIGNES
Ils commencent généralement
par CHR$(27). Exemple :
PRINT #8,CHR$(27);"4";
"Vivement Dimanche"
va provoquer la forme dite en
"italique". Les phrases suivantes
seront aussi en italique. Pour
annuler cette consigne, trois
méthodes :
— un code de contre-ordre, ici
CHR$(27);"5" ;
— un code qui vide tout le buf-
fer : CHR$(27);" " ;
— éteindre et rallumer l'impri-
mante.
Un point noir (si j'ose dire...), tou-
tes les imprimantes n'ont pas le
même langage. Celui que nous
illustrons est celui des impriman-
tes Epson, langage heureuse-
ment identique sur bien d'autres
marques. C'est une sorte de
"standard" officieux, un peu
comme le Basic de l'AMSTRAD
qui est considéré comme "stan-
dard" parce que très ressemblant
au "Basic MICROSOFT". Dans
notre exemple, il y a le listing du
programme Basic et ensuite ce
que cela donne sur la plupart des
imprimantes.
Dans ce petit programme de
démonstration, nous avons illus-
tré quelques fonctions parmi les
53 dont on dispose sur l'EPSON
RX80.
Michel ARCHAMBAULT
LA TETE
D'IMPRESSION
Une merveille de micromécani-
que ! Dans le texte mobile, il y a
neuf aiguilles disposées les unes
au-dessus des autres ; soit neuf
pistons métalliques commandés
par neuf micro-électro-aimants.
Elles viennent frapper un ruban
encreur derrière lequel est le
papier. La frappe d'un caractère,
un A par exemple, se fait en cinq
déplacements latéraux de la tête
de gauche à droite. Cent carac-
tères par seconde, cela fait donc
500 frappes par seconde ! On
reste confondu devant une telle
vitesse, une telle précision et
aussi une telle robustesse. Je
connais des petites imprimantes
qui tournent cinq à six heures par
jour depuis un an et demi sans
toujours la moindre panne... Seul
le ruban est changé tous les mois
(voire tous les deux mois).
LA QUALITE
D'IMPRESSION
Certains modèles bon marché ont
moins de neuf aiguilles, et le
résultat n'est pas très joli, surtout
en minuscules où il n'y a pas de
jambages inférieurs. Ainsi, les let-
tres "f, g, j, p et y" sont "remon-
tées" dans la ligne. C'est le cas
de l'imprimante rebaptisée par
AMSTRAD et de nombreux
modèles SEIKOSHA. Voilà pour-
quoi elles sont moins chères... Ce
n'est absolument pas présentable
pour du courrier (avis personnel
largement partagé).
Autre point à vérifier : la nature
du ruban encreur. Il faut qu'il soit
très long, type machine à écrire.
S'il est présenté en cartouche,
attention au réapprovisionnement
pour les marques peu connus, car
chaque fabricant a ses modèles
de cartouches... Un bon point
pour la GEMINI STAR qui utilise
une bobine standard. Un zéro
31
pointé pour le modèle étiqueté
AMSTRAND dont la (chère) car-
touche ne contient qu'une bou-
cle de 50 cm avec passage sur
une ampoule d'encre ! Résultats :
démarrages avec ruban sec et
caractères pâles et une rente en
cartouches. Où se trouve alors
l'économie ?
LA COMPATIBILITE
Le cas est rare, mais on rencon-
tre parfois des incompatibilités
d'humeur entre tel micro et telle
imprimante. Par exemple, saut de
ligne entre chaque ligne ("LINE
FEED"). Souvent, il suffit de
modifier la position d'un switch
dans l'imprimante, parfois il n'y
a pas de solution.
Donc, avant d'acheter une impri-
mante, essayez-la chez le ven-
deur, avec un AMSTRAD et un
câble approprié.
LES CRITERES
DE DIVISION
Nous venons de voir les deux
principaux, à savoir les jambages
inférieurs des minuscules et la
nature du ruban encreur. En voici
quelques autres importants :
— La possibilité de "clavier"
français, qui permet d'imprimer
les caractères minuscules accen-
tués. C'est quasi indispensable.
— L'écriture renforcée. C'est très
pratique lorsque le ruban
demande sa mise à la retraite.
— Friction/Traction. La position
"Friction" permet de charger des
feuilles séparées, à en-tête, par
exemple.
— Pour faire du "Hard Copy"
d'écran (graphiques), il est obli-
gatoire de disposer du BIT IMAGE
et du pas d'interligne variable.
A l'inverse, ne vous laissez pas
séduire par des caractéristiques
en fait peu importantes, à savoir :
— La vitesse : 80 CPS est bien
suffisant.
— Les tabulations horizontales,
verticales et la marge droite.
Même si vous les avez, un bon
conseil, ne vous en servez pas !
Programmez des SPC et comptez
vos lignes en Basic, c'est beau-
coup plus sûr... Pour le nombre
de caractères par ligne, utilisez la
commande AMSTRAD WIDTH.
Après un WIDTH(40), un LIST
# 8 fournira un listing identique à
celui de l'écran en MODE 1.
Attention ! une commande
, WIDTH reste dans le buffer de
l'AMSTRAD, pas dans celui de
l'imprimante...
Je pense que vous avez tous les
éléments pour décider de cet
achat ou non. Un dernier détail :
à l'image des téléviseurs et des
machines à laver, les fabricants
d'imprimantes sont très peu
nombreux, mais les "marques"
sont, elles, très nombreuses.
10 DEMONSTRATION D'IMPRESSIONS SUR EPSON RX-80
20 PRINT#8,CHR*(27)"@";: Nettoie le Bu-f ter , sans sa
ut de 1 i gne
30 PRINT#8,"Ecriture NORMALE forme RICA: 80 CARACTE
RES PAR LIGNE. "
40 PRINT#8: SAUTE UNE LIGNE BLANCHE
50 PR INT#B,CHR*( 27 ) "W"CHR*(1> ; "CARACTERES LARGES":
PRINT#8
60 PRINT#B,CHR*(27> "E"; "ON RENFORCE L'ECRITURE.
RINT#8
70 PRINT#B, CHR* (27) "W"CHR*(0> : 'SUPPRIME LE MODE LA
RGE.PAS DE ; =SAUT D'UNE LIGNE
B0 PRINT#B, "L'ECRITURE RESTE RENFORCEE" : PRINT#8
90 PRINT#B,CHR*<27>"4";"Aimez-vous 1 ' ITALIQUE ?"
100 PRINT#8,CHR*(27) "5"; : SUPPRIME L'ITALIQUE
110 PRINT#8,CHR*(27) "M"; "PLUS PETIT VOICI LA FORME
DITE ELITE. "
120 PRINT#8,CHR*(27> "P"CHR*(27) "F": SUPPRIME ELITE
ET RENFORCE
130 PRINT#8,CHR*(15> ; "LE MODE CONDENSE PERMET DE L
OGER 132 CARACTERES PAR LIGNE. " : PRINT#B
140 PRINT#8,CHR* (18) ;: SUPPRIME MODE CONDENSE
150 PRINT#8,CHR* (27) "W'CHR* ( 1 ) ; CHR* (27) "M" ; CHR* (27
) "4"; CHR* (27) "E" ; "COMBINONS LES MODES ITALIQUE,"
160 PRINT#B," LARGE, ELI TE ET RENFORCE.
170 PRINT#8,CHR*(27) "@"
180 PRINT#8,"0N PEUT AUSSI " ; CHR* (27) "-"CHR* ( 1 ) ; "S
0ULI6NER UN MOT" ; CHR* (27) "-"CHR* (0) ; " OU UNE PHRAS
E":PRINT#8
190 PRINT#8,"OU DECALER DES INDICES ET EXPOSANTS:"
200 PRINT#8,"H";CHR*(27) "S"CHR*(1> ; "2"; CHR* (27) "T"
; "O E=MC";CHR*<27) "S"CHR*(0) ; "2" ; CHR* (27) "T":PRI
NT#B
210 PRINT#8,"OU FAIRE DES SURCHARGES: XXXXXX";CHR*
(8) ;CHR*(8) ;CHR*(8) ; " "
220 PRINT#8:PRINT#8, "CHANGER LA NATIONALITÉ DE CER
TAINS CODES ASCII: "
230 C*="# *et3t>\" - ! "+CHR*(126)
240 PR I NT#8 , " POUR USA , FRANCE , ALLEMAGNE , ANGLETERRE ,
DANEMARK, SUEDE, ITALIE, ESPAGNE, JAPON ET NORVEGE"
250 PRINT#8,"0N A RESPECTIVEMENT POUR ";C*:PRINT#B
260 FOR 1=0 TO 9:PRINT#8,CHR*(27) "R"CHR*(I> ; C*
270 NEXT:PRINT#B,CHR*(27) "@":PRINT#8
280 PRINT#8,"AVEC LE MODE BIT IMAGE C'EST L'IMAGE
BINAIRE VERTICALE DU NOMBRE REÇU QUI EST IMPRIME. V
OICI 80 FOIS 255: "
290 PR I NT#8 , CHR* ( 27 ) " K " CHR* ( 80 ) ; CHR* ( ) ;
300 FOR N=l TO 80:PRINT#8,CHR*(255) ; :NEXT
E c rit u r e N R M A L. E forme P I C A : 80 C A F! A C T E R F S P A R
LIBNE.
<::::: « R ft c T e: r e s l « R G e s
ON RENEOFtCE L'ECRITURE.
:P L'ECRITURE RESTE RENFORCEE
Aimez-vous 1 ' ITALIQUE ?
F'LUS PETIT VOIC LA FORME DITE ELITE.
LE MODE CONDENSE PERMET 'E LOGES !32 CARfiCTEREE PAR LIGNE.
COMBINONS LES MODES ITALIQUE
LARGE, ELITE ET RENFORCE.
ON PEUT AUSSI SOU L IG N E R UN M OT OU UNE- PHRASÉ
OU DECALER DES INDICEE ET EXPOSANTS:
HaO E=MC 3
OU FAIRE DES SURCHARBES: XXX***
CHANGER LA NATIONALITE DE CERTAINS CODES ASCI II
POUR USA , FRANCE , ALLEMAGNE , ANGLETERRE , DANEMARK ,
SUEDE , I TALI E , ESPABIME , JAPON El NORVEGE'
ON A RESPECTIVEMENT POUF; tt * (s C j { } \ * » !
* * @ C ] { 1 \ ■'- : "-
tt * à " § é è ç •- ' û -
tt * § A U à u b (j 13
£ * e c ::i -i î \ ■-■ - : -
tt * 8 iE a s à •"'■ "'*
tt : '0. é. À A A à d u ê o u
tt * @ ,: à A è \ ■•'- ù ù i
l'i * S i ,;. " } K ■-'• ' n '•■
tt * e [ î ■;: :;■ ¥ ■'- ■ : -
tt fi é (âsà»ùÉ«ù
AVEC LE MODE BIT IMAGE C'EST L'IMAGE BINAIRE
VERT I CALE DU NOMBRE REÇU QUI EST IMPRIME
VOICI 80 FOIS 255;
32
FONCTION
Pierre-Jean VAUCLIN
Tous les amateurs de graphiques sur
l'AMSTRAD se sont sans doute ren-
dus compte à quel point il est fasti-
dieux et peu rapide de colorier des
surfaces autres que rectangles...
La routine assembleur que je vous
propose vous permettra de "rem-
plir" n'importe quelle surface
convexe auparavant délimitée sur
l'écran, et cela insranranémenf, puis-
que cette routine utilise l'accès direct
à la mémoire écran.
Voici la démarche à suivre pour l'uti-
liser :
— tracer les contours d'une figure
convexe sur l'écran (en Basic,
Assembleur ou autre) ;
— déterminer l'adresse écran des 4
pixels (en mode 1) situés en haut à
gauche de votre figure ; il est très
important que ces 4 pixels soient
"effacés" au départ (qu'ils aient la
couleur de l'encre n° 0). Cette
adresse, comprise entre &C000 et
&FFCF, doit être chargée dans le
registre HL à l'entrée du pro-
gramme ;
— choisissez un code de couleurs
pour vos 4 pixels (entre &0 et &FF).
Pour obtenir une couleur unie, les
codes sont : &00 (ink 0), &F0 (ink 1 ),
&0F (ink 2), &FF (ink 3). Ce code doit
être chargé dans le registre A en
début de programme ;
— enfin, lancer la routine à son
début : instantanément votre surface
est coloriée.
REMARQUE IMPORTANTE
Du fait de l'utilisation de la mémoire
écran, votre figure initiale doit avoir
pour base un trait horizontal.
Exemple, pour colorier
vous devez effacer la pointe infé-
rieure afin d'obtenir :
puis lancez la routine normalement.
Vous découvrez peut-
être CPC avec ce
numéro 2, mais savez-
vous que quelques
exemplaires du
numéro 1 sont encore
disponibles ?
Pour ne pas vous
retrouver, un jour,
avec la collection
incomplète, pensez à
la commander dès
aujourd'hui.
Joignez à votre
commande un chèque
de 18 francs.
33
A
5 REfl {onction 'paint ' '■ exemple
10 [ÏODE l:INK 1 , 1 J : INK 0,0:CALL 8,BC14:riO
UE 134, 384 :DRflUR 70,-8:DRflWR 100,-200:DR
RUIR -200, 90 :DRPWR 31,116
15 FOR a=l TO 1 000 : NEXT :riOUE 266,132:DRA
UR 28,0:LOCflTE 17,14:PRINT" ":FOR a=l
TO 1000:NEXT
16 POKE 8,5001,8,61 : POKE 8.5002, 8,00 :REH add
resse initiale en haut a gauche de la fi
gure C8.C061J
17 POKE 8,5004, 8.F0 :REH couleur choisie
20 CPLL 8,5000 :i_0CflTE 1,22
B
5
•
h l -
-> add
resse écran
460
ret
950
b i t
5, a
1
6
;
A
-> cou
leur de 4 p i xel6
470 next 1 :
id
Ch 13, h
960
Jr
n z , a 1 Iu2
10
o r g
«5000
480
push
bc
970
b i t
4, a
20
e n t
$
490
ca 1 l
ttbc26
380
Jr
nz , a l lui
21
id
h 1 , «c010t81
500
Pop
bc
990
b i t
0, a
22
Id
c,8f0
510
dec
h 1
1000
J r
n z, a l lui
30
:
igné:
td
a, fh l)
520
Id
a, Cn l :
1010
ret
40
i ne
a
530
i ne
a
1020 a l lu3:
Id
b , c
50
dec
a
540
dec
a
1030
r e s
7,b
60
Jr
nz , t est 1
550
Jr
nz, retour
1040
r e s
3,b
70
id
Ch l ),c
560
i ne
h l
1050
ret
30
i ne
h l
570
Id
a, fh U
1 060 al l u 2 :
i d
b , c
90
Jr
i 1 gne
580
i ne
a
1070
r es
7,b
100
t
est 1 :
nop
590
dec
a
1080
r e s
3,b
1 10
cal 1
tstd
600
Jr
nz, retour
1090
r e s
6,b
120
Jr
next 1
610
i ne
h l
1100
r es
2,b
130
t
std :
d ; t
0, a
620
id
a, fh U
1 1 10
ret
140
Jr
nz, a l 10
630
i ne
a
1 1 20 a 1 1 u 1 :
id
b,c
150
b i t
1 ,a ,
640
dec
a
1130
i ne
h l
160
Jr
nz,al l 1
650
Jr
nz , r e t our
I 140
ret
170
b i t
2, a
660
; ne
h 1
1 150 next 2:
id
Ch l J,b
180
Jr
nz , a l 12
670
Id
a, fh U
1 160
push
bc
190
b i t
3, a
680
i ne
a
1 170
ca 1 l
8bc26
200
Jr
n z , a l 13
690
dec
a
1 180
pop
bc
210
b i t
4, a
700
Jr
nz,retour
1 190
i n c
h l
220
jr
nz,a l 10
710
ret
1200
id
a, fh U
230
b i t
5, a
720 retour :
id
f A4000 ] , a
1210
i ne
a
240
Jr
nz , a l 11
730
ca 1 1
tstd
1220
dec
a
250
b i t
6 , a
740
Id
fn 1 ),b
1230
Jr
n z , r e r e t
260
Jr
nz.al 12
750
dec
n l
1240
dec
h 1
270
b i t
7,a
760 1 i gne2 :
id
a, f h i j
1250
Id
a, fn U
280
JT
nz.al 13
770
i ne
a
1260
i ne
a
230
ret
780
aec
a
1270
dec
a
300
790
Jr
nz , t es 1 2
1280
Jr
nz , r e r e t
310
800
Id
: h i : , c
1290
dec
h l
320
a
110:
td
b , c
810
dec
h 1
1300
id
a, fh IJ
330
rat
820
jr
t i gne2
1310
i n c
a
340
a
1 11 :
Id
b , c
830 test2:
c a i !
Utg
1320
dec
a
350
r es
0, b
840
Jr
next 2
1330
Jr
n z j r e r e t
360
r es
4,D
850 tstg :
D , t
3, a
1340
dec
h 1
370
ret
860
Jr
nz, a l 10
1 350
Id
a, fh U
380
a
1 12:
id
b,c
870
b , t
7, a
1360
i n c
a
390
r es
0,b
880
jr
nz.al 10
1 370
dec
a
400
r es
l,b
890
D i t'
■ 2, a
1380
Jr
n z , r e r e t
410
r e s
4,b
900
Jr
nz , a 1 lu3
1390
ret
420
r e s
5,b
910
D i t
6, a
1400 rer et :
ca 1 i
tstg
430
ret
920
Jr
n z , a 1 lu3
1410
id
f h l ) , d
440
a
l 13:
dec
h l
930
b i t
1 ,a
14 20
i n c
h 1
450
Id
b ,c
940
jr
nz , a l l u2
1430
Jp
i , gne
34
Pierre BEAUFILS
Curieusement, l'AMSTRAD
CPC 464, par ailleurs si bien
pourvu, ne possède pas l'instruc-
tion CIRCLE, classique pourtant.
Nous proposons quelques logi-
ciels permettant d'effectuer ce
travail.
UN PEU DE
TRIGONOMETRIE...
Soit un cercle de centre 0, de
rayon R. Si n représente l'angle
(en radians) définissant la posi-
tion d'un point de ce cercle, les
coordonnées de ce point seront :
X :
y :
Rcos(n)
Rsin(n)
Pour tracer un cercle, il suffira
donc de "PLOT"ter les couples,
x, y obtenus en faisant varier n
de à 2 7T.
Cependant, un premier problème
surgit : en effet, un grand cercle
a une circonférence plus grande
qu'un petit cercle (tout le monde
sait cela !) et, par conséquent, est
représenté par un nombre plus
grand de points. Le pas d'incré-
mentation de n doit donc dépen-
dre du rayon R choisi. La distance
entre deux points consécutifs est
donnée par :
R x pas d'incrémentation
Cette longueur doit être au plus
égale à 1 , qui est la distance mini-
mum entre deux points afficha-
bles. Par conséquent, le pas d'in-
crémentation doit être égal à 1 /R
pour que tous les cercles, quel
que soit leur rayon, aient la même
densité de points sur leur circon-
férence. D'où le programme :
Listing 1
"i ;"ipI|t,TM
" ! -, ''?<"îO
1 1 "•'■«. p T '"-', r r p
>0 MEXT
35
OPTIMISATION
DU PROGRAMME
On peut aussi tracer une série de
cercles concentriques :
Listing 2
10 mode: 2
20 roF •-■= io ro too rŒ p
10 OR I GIN ~u.o - 200
40 FOR n~0 TO 2+PI STEP 1
5 P !,... T r * C S ( n ) ~ i- * S I N .( ïi )
60 NEXT n
70 NEXT r
Une question se pose mainte-
nant : est-ce la méthode la plus
rapide pour tracer un cercle ? En
effet, cette figure géométrique
possède une symétrie qu'il est
possible d'exploiter de plusieurs
manières :
— tracer point par point deux
demi cercles simultanément,
— tracer point par point 4 quarts
de cercle simultanément.
Le résultat sera bien sûr le même,
mais les temps requis seront bien
différents, comme on peut le
constater (pour le programme
précédent, il fallait 1 minute et 57
secondes).
La dernière méthode semble la
plus efficace au prix d'une
complexité un peu plus grande
pour le programme.
io mode: 2
20 FOR r = 1.0 TO 100 STEP 10
30 ORIGIN 320.200
40 FOR r,=0 TO PI STEP 1/r
45 a=COS(r.) : b*SIN(n)
50 PLOT r*a»r*bsPLOT -r*a>-r*b
60 NEXT n
70 NEXT r
STEP 1(
r
J
Listing 3
Tracé de deux demi cercles
(1 minute 1 1 secondes)
10 MODE 2
20 FOR r = 10 TO 100
30 OR ï GIN 320,200
40 FOR n=0 TO PI/2 STEP
45 a=r*COS(n ) : b»r*SIN (n >
50 PLOT a, b: PLOT -a,-t,
51 PLOT t., -a: PLOT -t., a
60 NEXT n
70 NEXT r
1 / 1
f
J
Listing 4
Tracé de 4 quarts de cercle
(0 minute 38 secondes)
10 MODE 2
"50 FOR k=0 , :
1 TO
3
STEP . 1
k.> DR I GIN ?
,' !| ^ ) ■. "'■ ''(
'0
■0 FOR n~0
TO F
>I
STEP 1/r
ET MEME
DES ELLIPSES...
On peut introduire un coefficient
k (voir ligne 60) pour déformer le
cercle et le transformer en ellipse.
Listing 5
\ n ;
70 PLOT a, b s PLOT a, b
80 NEXT n
90 NEXT k
36
MATRIX
Michel CHANAUD
1 n ypm
15 REM * H A î R I X *
20 HE?! * KICHEL CHANAUD *
25 REM
40 INK 0,13: INK 1,0;INK 2,fc! INK 3,24:BORDER 1 3 ; MOD
E i
50 LCCATS 13,5:PEN 3:FOR IX=1 TO 3TRINT TA3 î î 3 ï SX
RlNG>!15,OHR$ii43}!:NEXT
55 LOCftTE 2S,5;PEN 1 :PRINT CHRs il 32 i ; LOCATE 28,6;P
EN HPRINT CHR* il 33!; LOCATE 28,7:PRINT GHRt(133)
56 LOCATE 13,3;PRÎNT CHRî ( 130 ) -STRING* ! 14,CHR«i 131
!HCHR$U29i
60 PRÎNT CKRî s 22 .» +CHR* , i ) r LOCftTE" 15,6; FEN ! ;PRINT"
M fi T fi 1 X H ;PRINT CKR$(22)+CHR$iO)
80 FEN î; LOCATE 6, 16 :PRINT"VOULEZ-vOUS LES REGLES
DU JEU ? (Û/Ni' !
90 Ri=uPPERîiINKEY$i;IF R$="' ! THEN 90
rH?
inx.ii 'j'.
USUB 1130
103 ÎF LEFÎIi R5,li = ! '0' r
110 REM
II! SSii INITI ALISâTICNS
112 REM
130 DÏM Bi;8)-A$i64) ,R(3) ,g$=CHRîi20?! + CHRI\207i
140 RANDOMIEE TIME
150 DATA 15, tt, 10, 09. 09, 09, 08, 08, OS, 07, 07, 07, 06, 06
,06,05,05,05,04,04,04,03,03,03.02,02.02,01,01,01,0
0,00,00,00,00,00,-1,-1,-1,-2,-2,-2,-3,-3,-3,-4,-4,
-4,-5,-5,-5,-6,-6,-0.-7,-7,-7,-8,-8,-8,-9,-9,-9.-9
160 FOR IX=1 TO 64 RE AD A$!I%!:NEXÏ
170 ?OR VX=] TO 8:FOft HX=1 10 E
180 ft=I8T(RND»64)+LaS=a:îF flt(flJÎ)="##" THEN ISO
l e IF A$s A%i = "**:' : THEN ■àUh%)=G\
200 Bim)=3$(VX)+A$(AX):A*(AJ5)= , ## ,i :IF RIGHT$ïB$>
v%) ,2)=0$ THEN CTABX=H»2-i:LTABX=VX
210 NEXT : NEXT
220 FOR 11=1 TO 8:BB*UX)=Bf(ÏX>:HEXT:CCTABX=CTABX
; LLTrtB%=LTAE?i
230 3S=0;T%=0:LP%=0:MO%=2
240 G03UB 730
250 REM
251 REM MOUVEMENT DU JOUEUR
■-/en qvu :
260 IF 3*iLTABs)=0i+0$+0$+0$+û$+0i+0$+0$ THEN GOTC
270 GOSUB 1050
m IF INREï(9ï=0 AND MIDt (B$ (LTABa) -CTAB%,2" C0$
THEN 360
290 DCX=-2*UHKEYU)=Q)+2*<INKEïi8)=0>:IF DCS=0 TH
EN LOCATE (3*CÎABX+7)/2,2*LÎABXt2:P£N 2;PRINT M;
C$!B*(LTAB%;,CTABS,2î;FOR 1 = 1 TO î ; NEXT : lOCATE (3
i:CTAB%+7 ) / 2 , 2s:LTAB%*2 ' PEN ilPRINT HID*£B*(LTABS) .
CTABK,2î;FOR 1=1 TO iOlNEXT ;GOTO 230
300 CTAB%=CTAB%+DCK
310
CTAB%=-1 THEN CTAB'à=15
320 IF CTAB5i=l7 THEN CTnBK=l
330 IF HID*(Br.i,TABXS f &TABX,2)=0$ THEN GOTO 300
340 LOCATE !3*CTABX+7i/2,2*LÎABX+2;PEN 2 : PR ï NT MI
D$ \ Bt ' LTAB% ■ , GTnB% , 2 ) : FOR 1 = 1 TO ! : NEXT ; LOCATE t3
*CTAB% + 7 ) / 2 , 2 *LÎAB% + 2 ; PEN IlPRINT MIDî(BîiLTABI) ,
CÎABX,2):FQR 1=1 TO lC:NEXT
350 FOR 1=1 TO 30 NEXT GOTO 280
360 PEN !:LPI=vA.(MID«iB$iLTABS),CTAB5t,2))
MATRIX est un jeu de réflexion
où vous jouez contre l'ordinateur.
Une grille est remplie de valeurs
numériques aléatoires positives
ou négatives. Vous pouvez choi-
sir une valeur sur une rangée en
déplaçant le curseur à l'aide des
flèches horizontales et en pres-
_ sant la touche COPY. A son tour,
Q ^ (^Ca) ' e ^^ cno ' s ' ra une valeur, mais
7 4^ V—fiV cette fois-ci dans une colonne.
Les compteurs des deux joueurs
accumulent les points obtenus
1
3 a
lors de chaque choix. Attention !
Il faut parfois savoir faire des
coups "faibles" si l'on veut
gagner à plus long terme.
370 LOCftTS (3*0'TABX+ 7 )/2,2*LTABX+2-'PRIHT Oï;B$;LTA
BX>=LE :/ 'iig^LÏAEK; : OTrtBs-l/TO$+RIGHT$ïE$iLTAB%!.;
5-OTABS ;
",D,*Tj_r.1>:
-,PR 89'"»
4^u hurf în-l lu B:KiM5J s 0;NcAf
430 FOR N«=l TO 9 :"%=-! 00: IF Nfe=LÎABï THEN 560
440 IF KÎD$;3iîN?),CTAB%,2!<>Oi THEN 430
460 1? HX=LIABX THEN 550
470 GOTO "0
490 rOh M%=; TO 15 3?SF 2
500 IF MK=CTAB" THEN 540
510 IF HID*<B»(NX!,HXJi>=0* THEN 540
^fl ?r Uft! 'HîrisïRt 'H¥l M* ">'
Jiu ii /îlijuiiL-» \i?* \itft, jFj/e, i. t
530 vïi=VA„ ;>J ;Di ; 3S; w- ,MS,2> ;
540 NEXT MX
550 RfNX)=W-VX
--'?
54C
>=01 THEN 630
580 FOR NX=i TO 8
590 IF 8ID$(B$(NS),CTftBS,
ù:"J ,r K'JUmVa Inhii Sel)
610 vS=RiNK)
620 LTrtE J :=N%
640 L?S=VALiHlDMB${LTABX!,CTABX,2»
650 IS=Î*+LPX
660 LOCATE ; 34CTAB%*7 ï / 2 , 2J:LTAB%+2 ; PR I NT 0$
670 B*(LTABX)=LEFT*(3t(LTABX).CTABX-l)+Q$+RïGHT*!B
$iLTAB%ï ,i3-CTAB%)
680 LOCAT^ ( 3*CTAB%-!-7ï /2 - 2iLTAB%*2 PR'.HT 0>
690 M«=2
700 GOSL'b 3^0
T'ii f-fiT") ?5C
,-EM
ç-y __
OlS LOCATï
i i i LM û i i itiltl ii il i lï i il ■■ i LU I
OATE 4.3;?RINT CHR$(150! ; ;F0R IX=1 T0'7;PRIN
T CHRî(i54/+CHRt(154!+CKR$U58i
54i+GHR$':i54i+CHRtîl56î
760 L$=GKRIC1495+" ":K5=CHRiM
1591
: NEXT TRI NT OHR*;
Wi- 54*
37
770 FOR JX=i 70 7: PRINT TABi4!
780 FOR î%=! 10 SlPRINT L*; :NEXT:PRINT CHR1Î149)
790 FRINT TAB(4)CHR$(151)::FQR IX=1 TO 7:PRINT Kl;
:NEXT:FRINT CHR$ii54!*CHR»<i54!+CHR*il57)
800 «EXT 1%
810 PRINT T*B ( 4 ) ■ ; FOR I%=1 TO 8:PRÎNT L$':NEXT;PRI
NT CHRK149Î
820 PRINT ÎAB!4!CHR«(147);:FOR l%-\ TO 7:PRINT CHR
$ ( 154 ) +CHR* ( i 54 î +CKR* ( i 55 ) ; ; NEXT : PRINT CHR$U54)+C
HRM541+CHR1Î153!
B30 FOR Y%=1 TO 8; FOR CPS=0 TO 7
840 XX = 2îCP«+ s
650 LOCATE X%+CP%+4,2+2*Y%; IF HID»(B«<YX),XX,2) a "l
5" THEN PEN 3 ELSE PEN 1
860 PRINT MID*(B*;Y%),X%,2)
379 NEXT:NEXT
880 RETURN
890 REM
391 REM AFFICHAGE DES POINTS
892 REM
900 LOCATE 30 , 9 ; PR I NT " VOUS ; " S% : LOGATE 30,11 :PRINT"
rpr > B Tt'
910 LOCATE <v,2i:PRINT"DERNIER COUP ="LP%;LOCATE 10
,23; IF MOX=l THEN PRINT" AU CPC DE JOUER" ELSE FRIN
T "A VOUS DE JOUER"
920
930
931
Q-.J
940
950
VoO
970
9R0
v90
RETURN
REM
REM FIN DE LA PARTIE
REM
VIHDOV #0,1,40.20.25; CLS : &* ÏNDOw #0,1,40,1,:
LOCATE 10,21 ;PEN 3
IF SX=TX THEN PRINT" MATCH NUL"
IF S%>T% THEN PRINT"BRAVO...VOUS AVEZ
IF SJKÎX THEN PRINT" J'AI GAGNE."
PEN 11 LOCATE 5,24: PRINT" VOULEZ-VOUS:"
23: PRINT" 1- LA MEME PARTIE"; LOCATE 20,2
UNE AUTRE PARTIE" : LOCATE 20,25:PRINT :, 3-
;agne,"
LOCATE
[; PRJNT"
ARRETER
1000 R$=INKEY*; IF R$<>"" THEN 1000
1010 Rt=INKEY$; IF R»="" THEN 1010
1C20 IF R*="3' THEN CLSlEND
1030 IF R$="l s THEN CLS;FOR I%=1 TO B:B»(IX)=BBi!l
%'; ;NEXî;LÎA6^LL"A5%;CÎÂB^CCTAB% ; G0T0 230
1040 RUN 11 j
1050 REM
1051 REM CLIGNOTEMENT DU CURSEUR
'0^2 REH
1060 LOCATE ( 3*CTAB%+7 } /2 . 2*LTnB%+2 ; PEN 2;PRINT 0$
:FCR 1 = 1 TO 1 : NEXT : LOCATE !3*CTAB%+7)/2,2*LTAB%+2
;PSN Î;PRINT û*:FOR 1=1 TO 10;NEXT
107C Ri=INKEY$:IF Rt= i: " THEN 1060 ELSE RETURN
1080 REM
1081 REM ANALYSE DE LA COLONNE
1082 REM --
iJ90 v$ = " "
1100 FOR H%-\ TO 8:C$=C*+BIDt(BI!HX),CTftBX,2):!ffiXT
1110 IF 0<=0»+0$+û*+Oi+0$+0$+Oi+0» THEN 930
1120 RETURN
1130 REM
1131 REM REGLES DU JEU
1132 REM
1140 CLS
1150 print: print "une grille est affichee, contenan
t des": print: print "nombres disposes de façon alent
o:re."
1160 print :frint 3 le but du jeu est d obtenir plus
DE "
1170 PRINî:?R:NT H ?OINTS QUE L'ORDINATEUR."
1180 PRINT; PRINT "QUAND C'EST A VOUS DE JOUER, VOUS
P OUV£Z"
1190 PRINT: PRINT "DEPLACER LE CURSEUR HORIZONTALEME
NT": PRINT; FRINT "AVEC LES FLECHES "+CHR$(242)+" E
T •+CKRf / :-43)*' ET PRENDRE"
120C PRINT ;PRINT"LE NOMBRE CHOISI EN APPUYANT SUR
tCCPïl."
1210 PR1 NT "L ORDINATEUR CHOISIT DANS LA COLONNE."
1220 LOCATE 10, 24: PRINT "APPUYEZ SUR UNE TOUCHE"
12^0 Ri=iNKEYJ IP R$="" THEN 1230
1240 RETURN
1250 ENL
<* <? 4 <b 7 X * <> 4 9 <looO S *\ * 4 6 \
» i i » i i i i i i i i i i i i i i i i i » i i i i i i i i » i i i
Il I I II I IT T TTI I I I I I I I I I I I I I I I I I I I I
i mm;
AJOUTER UIM DRIVE
Denis BOURQUIN
9 9 9 9
9 9 9 9 9 9
9 99 9
Nous avons essayé de coupler
au CPC 464 deux unités de
disques, une unité de 3" et une
unité de 5" 1/4. Nous les avons
choisies pour leur excellent rap-
port qualité-prix.
Ces unités sont vendues drive nu,
c'est-à-dire qu'elles ne compren-
nent ni coffret, ni alimentation.
Pour leur choix, nous nous som-
mes basés sur leurs caractéristi-
ques techniques qui étaient iden-
tiques à celles de l'unité DDI1 de
l'AMSTRAD.
Notons tout de suite que le but
de ce couplage est d'ajouter une
deuxième unité de disque à
l'AMSTRAD. Cette unité devient
donc un complément de l'unité
DDI1 de l'AMSTRAD, le drive
rapporté sera donc le drive B.
Notre choix s'est porté sur deux
unités de marque TEAC. Le
modèle 3" porte la référence
FD 30A, alors que le modèle
5" 1 /4 est l'unité FD 55A donnée
par TEAC comme totalement
compatible avec le FD 30A.
Les deux principales caractéristi-
ques mécaniques prises en
compte pour leur choix étaient :
une vitesse de rotation du disque
de 300 tours/minute et un nom-
bre de pistes par disque de 40.
A partir de là, les autres caracté-
ristiques seront imposées par le
contrôleur de disque et le logiciel
de commande. Pour les caracté-
ristiques électriques, l'électroni-
que de commande du drive devra
posséder un signal de sortie
READY vers le contrôleur ; ce
signal indique au contrôleur que
le disque est en rotation et à la
bonne vitesse ; elle doit aussi
posséder le signal MOTOR ON,
signal de mise en rotation du dis-
que avec arrêt automatique après
un certain temps sans accès.
Les principales caractéristiques
de ces disques sont :
— temps d'accès moyen 171 ms,
— temps d'accès piste à piste
12 ms.
Nous vous donnons, sur la figure
1 , le câblage du connecteur côté
drive. Si nous regardons mainte-
nant le connecteur côté contrô-
leur de disque de l'extension
AMSTRAD, nous remarquons
que la numérotation est diffé-
rente ; par exemple, le signal
READY est en broche 1 au lieu de
34, drive sélect est en broche
25, cette inversion correspond à
un retournement du connecteur
et pour notre unité DDI1, le fil
bleu de la nappe de liaison
interface-drive DDI1 correspon-
dra à la broche 34 de notre nou-
veau connecteur. Nous avons
effectué la liaison entre le
connecteur disponible sur le câble
du DDI1 et nos drives par l'inter-
médiaire d'un câble souple et de
deux connecteurs autodénu-
dants. Voici la référence des
connecteurs utilisés : ils sont de
marque ANSLEY et il faut, côté
interface, un connecteur mâle 34
broches, référence connecteur
maie blue macs 609-3406, côté
drive, il faudra un connecteur
encartable 34 broches, référence
blue macs 609-3405 ; la liaison
entre les deux connecteurs se fai-
sant par une nappe à 34 fils.
Notons qu'il n'est pas nécessaire
de disposer d'une presse spéciale
pour presser ces connecteurs.
Une remarque s'impose : l'inter-
face disque de l'AMSTRAD étant
alimentée en +5 V à partir du
drive DDI1, il est donc néces-
saire, comme nous l'avons fait,
de couper les quatre liaisons sui-
vantes au câble que vous aurez
réalisé. Ce sont les liaisons qui
correspondent aux broches 2, 4,
6 et 14 de votre nouveau con-
necteur.
Comme nous l'indiquions au
début de cet article, les drives
sont nus et sans alimentation. Il
sera donc nécessaire de les ali-
menter en + 1 2 V et en + 5 V,
le connecteur d'alimentation du
drive se situe à l'arrière de la pla-
tine électronique et se présente
comme en figure 2. Le raccorde-
ment des alimentations doit se
faire de la manière suivante :
— en 1 : + 1 2 V, consommation
inférieure à 600 mA,
— en 2 et en 3 : V,
— en 4 : + 5 V, consommation
inférieure à 400 mA.
Le couplage du drive 3" ne nous
a posé aucun problème, les
straps du drive ont été position-
nés sans problème ; il suffit de
mettre le strap DS1 (le drive est
en B pour l'AMSTRAD), et le
strap Ml qui correspond à la mise
en route du moteur par la broche
de commande MOTOR ON.
Pour le drive 5" 1/4, nous avons
positionné les straps suivants :
HS, DS1, IU, SM. Notons que la
différence entre le 3" et le 5" 1/4
réside dans la nécessité de char-
ger la tête de lecture-enregistre-
ment pour le modèle 5" 1/4, alors
que dans les unités 3", la tête est
automatiquement chargée par
l'introduction d'un disque et la
fermeture de la porte.
A la mise en route, que ce soit le
drive 3" ou le drive 5" 1/4, tous
les deux ont fonctionné normale-
ment, et l'auteur utilise mainte-
nant abondamment le drive 5"
car tout l'intérêt de ce couplage
réside dans le prix de revient des
disques 5" 1/4 comparé au prix
des disques 3" ; le rapport de prix
pouvant aller jusqu'à quatre en
faveur du disque 5". Mais le for-
mat 3" a quand même ses avan-
tages ; il est d'un encombrement
plus faible, et les disques auront
une durée de vie supérieure à
celle des 5" de par leur protec-
tion mécanique. C'est aussi pour
cela qu'il est intéressant d'avoir
les deux formats simultanément.
Notre choix s'est porté sur une
unité de marque TEAC pour le
5" 1/4, mais il existe d'autres uni-
tés compatibles dans d'autres
marques. Il est possible de se pro-
curer par correspondance l'unité
TEAC auprès de la société
MICRO C INFORMATIQUE au 1
avenue du Général de Gaulle,
35170 BRUZ ; le coût de cette
39
unité auprès de cette société est
de 1490 F TTC. Cette société
peut aussi éventuellement four-
nir les connecteurs et les alimen-
tations, les tarifs peuvent être
obtenus contre une enveloppe
timbrée.
Nous venons de parler du cou-
plage électrique d'une deuxième
unité de disque, mais il faut main-
tenant y mettre nos logiciels. Le
formatage des disques sur AMS-
TRAD se fait sous CPM, mais
cette commande ne formattant
que dans le drive A, il va donc
être nécessaire, pour formater un
disque 5" 1/4, qui sera en drive
B, d'utiliser une autre commande
de notre CPM. Cette autre com-
mande est la commande COPY-
DISC, qui copie un disque du
drive A vers le drive B ; cette
copie s'effectue piste à piste, et
si nous mettons dans le drive A
un disque 3" vierge mais for-
maté, nous recopierons ce forma-
tage sur le disque 5" 1/4.
9 9 9 9 9 9
Figure 1
Signaux
Directions
N° broches
Signaux
Uolt
SIDE A
OUTPUT
2
1
IN USE
«PUT
4
3
DRIVE SELECT 3
WPUT
6
5
INDEX
OUTPUT
8
7
DRIVE SELECT
WPUT
10
9
DRIVE SELECT 1
INPUT
12
11
DRIVE SELECT 2
INPUT
14
13
MOTOR ON
WPUT
16
15
DIRECT CM SELECT
WPUT
18
17
STEP
WPUT
20
19
WRITE DATA
WPUT
22
21
VRITE GATE
WPUT
24
23
TRACKOO
OUTPUT
26
23
VRFTE PROTECT
OUTPUT
28
27
RE AD DATA
OUTPUT
30
29
SPARE
WPUT
32
31
READY
OUTPUT
34
33
EZZZZZ
I o o o oj
T Circuit imprwnt
9 9 9
;//;;///;//!
Figure 2
99
99
LE COIN BIDQULLE
Denis BOURQUIN
A partir de ce numéro, nous
commençons une série d'ar-
ticles qui vous amèneront à réa-
liser un certain nombre d'exten-
sions pour votre AMSTRAD.
Nous avons en projet : un exten-
sion entrée-sortie parallèle et série,
un programmateur d'EPROM, une
extension mémoire, un contrôleur
de disque permettant de coupler
plus de deux unités de disques et
permettant l'utilisation de disques
à plus forte densité, mais là aussi,
vos souhaits de réalisation seront
pris en considération dans la
mesure où ils pourront intéresser
les autres lecteurs de CPC.
Mais pour cela, il va tout d'abord
être nécessaire de réaliser une
extension du bus de l'AMSTRAD.
En effet, sur ce dernier, le bus
Z80 est sorti sur le connecteur
50 broches, mais il est essentiel-
lement réservé à l'extension dis-
que, et par conséquent, si vous
y branchez le contrôleur de dis-
que, il n'est plus question d'y
ajouter une réalisation person-
nelle.
Nous allons donc commencer nos
réalisations par une petite inter-
face très simple, conçue sous la
forme d'un circuit imprimé se
mettant sur le connecteur 50 bro-
ches (connecteur disque) du
CPC. Ce circuit imprimé com-
prend quatre buffers 8 bits per-
mettant d'amplifier les principaux
signaux du Z80 nécessaires dans
toute application et d'isoler en
même temps le microprocesseur
de nos réalisations ; notons que
les signaux du Z80 fournis par
l'AMSTRAD et présents sur le
connecteur extension ne sont pas
bufferisés et cela par souci d'éco-
nomie. Nous aurons deux circuits
pour amplifier le but adresses, un
circuit pour amplifier le bus de
données et un circuit pour ampli-
fier les principaux signaux de
commande, tels que MRQ
(demande d'accès mémoire),
I0RQ (demande d'accès aux
entrées-sorties), RD (accès en
lecture), WR (accès en écriture).
Les circuits utilisés pour cette
amplification seront des 74LS245
qu'il sera facile de se procurer
chez tout revendeur de compo-
sants électroniques. Les autres
signaux présents sur le connec-
teur 50 broches seront reliés
directement aux autres connec-
teurs et seront disponibles. Sur
ce circuit imprimé, nous trouvons
bien sur le connecteur 50 bro-
ches permettant le raccordement
à l'AMSTRAD, ainsi qu'une
embase pour connecteur auto-
dénudant 50 broches. Sur cette
embase, nous brancherons une
nappe de 50 fils permettant de
déporter notre bus amplifié vers
un fond de panier réalisé, lui
40
aussi, en circuit imprimé et
comportant 4 connecteurs, ce
qui lui permettra de recevoir qua-
tre réalisations. Au bout de ce
fond de panier, nous trouverons
un connecteur identique à celui
se trouvant à l'arrière de l'AMS-
TRAD, et ce afin de permettre
aux possesseurs de l'interface
disque DDI1 de la coupler à leurs
réalisations.
Tous les connecteurs conservent
le brochage identique à celui se
trouvant à l'arrière du CPC ; pour
son implantation, il suffit de se
reporter au manuel de l'AMS-
TRAD. Dans ce numéro, nous
vous donnons, en figure 1 , le bro-
chage du 74LS245, ainsi que le
schéma électronique de l'inter-
face bus en figure 2. La figure 3
donne un plan général de cette
réalisation. Dans notre prochain
numéro, nous vous donnerons
l'implantation des composants, le
plan du circuit imprimé, ainsi
qu'une première réalisation à
monter dans le fond de panier.
«R ft1 A2 «3 fi4 fi5 A6 A? R8 GND
Figure 1
74 LS 245
Table de vérité
du 74 LS 245
Logique positive
L = V H » 5 V
ENABLE DIRECTION
G DIR
OPERATION
L L
L H
H X
B vers A
A vers B
Haute impédance
Figure 3
A
A
X
m
connecteur autodénudant
Embase pour connecteur autodénudant
Alimentation
extérieure
+ 5 Volts
Connecteur 50 broches vers sortie extension
du CPC
CARTE D 1 INTERFACE AMSTRAD-FOND DE PANIER
FOND DE PANIER BU AVEC 4 CONNECTEURS
ENCARTABLES 50 BROCHES
Figure 2
42
V
*
^ A TABLE ^
X Michel ARCHAMBAULT <S
Le plan de table d'un banquet
se doit de respecter les
"règles" suivantes : chaque
convive doit avoir comme voisins
et vis-à-vis une personne de sexe
opposé, et aucune de ces trois
personnes ne doit être son
conjoint ; sauf cas particuliers
(jeunes mariés).
y
Ce fastidieux casse-tête est
résolu instantanément par ce pro-
gramme, mieux, il vous propose
plusieurs solutions répondant aux
critères ci-dessus : deux colonnes
de noms à l'écran vous présen-
tent les personnes en vis-à-vis.
Lorsqu'une des solutions vous
plaît, inutile de la recopier, pres-
sez la touche E, et elle est éditée
sur imprimante.
Ce programme n'est pas d'une
utilisation fréquente (hélas,
hélas !... ), mais sa conception,
uniquement logique et aléatoire (il
n'y a pas de RND), constitue un
exercice Basic qui, lui, n'a rien de
futile !
Si vous n'avez pas l'intention de
le recopier au clavier, essayez
quand même le module du titre
(lignes en 12000) dont le type
d'animation pourra vous inspirer
pour des programmes person-
nels.
L'ENTREE DES NOMS
Elle se fait en trois étapes : la liste
des couples, celle des filles, celle
des garçons. Le nombre total de
convives est limité à quarante, ce
pour des raisons de présentation
à l'écran.
COUPLES (lignes en 3000)
L'écran de saisie présente "Mr,
Mme", vous complétez par le
nom. En fin de liste, on tape "Q"
(quitter). Le nom tapé est entré
en deux tableaux DIM ; M$(C)
pour les maris, et E$(C) pour les
épouses. L'adjonction du "Mr"
ou du "Mme" est automatique.
FILLES (lignes en 4000)
Les noms entrés sont mis en DIM
F$(F). Le préfixe "Mie" est auto-
matique.
GARÇONS (lignes en 5000)
Même méthode, mise en DIM
G$(G). Le préfixe automatique
est constitué par deux astéris-
ques.
En cours de saisie, le total TOT
est incrémenté ; s'il atteint qua-
rante, on est prévenu par un bip
sonore, et le programme passe à
la suite. TOT est bien sûr égal à
(Cx2) + F + G.
Dans les trois écrans de saisie, les
noms sont autopositionnés sur
deux colonnes. En bas de l'écran
figurent les décomptes incrémen-
tés, par exemple, "5 Demoisel-
les **Total = 18". Le passage
d'un tableau à l'autre se
commande par la lettre "Q".
LA DISPOSITION
En fin de saisie, nous possédons
quatre listes, les DIM M$, E$, F$
et G$, avec lesquels le pro-
gramme va créer une cinquième,
D$(D), D signifiant "Disposi-
tion". C'est une suite de noms
avec alternance masculin-féminin
et éloignement des conjoints.
C'est là, le "âros morceau" !
Une fois cette suite établie, nous
l'afficherons sous forme de bou-
cle fermée autour d'une table lon-
gue. En faisant tourner cette bou-
cle d'un cran à chaque fois, nous
pourrons changer les vis-à-vis,
tout en conservant ses voisins
droite-gauche. OK ?
Ces "calculs" concernent le trai-
tement des couples, de loin le
plus complexe, puis on enchaîne
sur le mixage des listes filles et
garçons.
LA DISPOSITION
DES COUPLES (lignes en 6000)
(figure 1)
Le traitement est différent selon
le nombre de couples, C est pair
ou impair. Si C est pair, la varia-
ble P=1.
D'abord, un premier passage en
zig-zag : M$(1), E$(2), M$(3),
E$(4), etc. (voir figure 1a). Ce
premier passage est commun aux
nombres de couples pairs et
impairs.
Second passage : pour C impair,
c'est du zig-zag mais en
commençant, cette fois, par
l'épouse du couple n° 1 : E$(1 ),
MS$(2), E$(3), M$(4), E$(3),
etc. que C soit pair ou impair, on
termine toujours par une épouse ;
normal puisque l'on débute tou-
jours par le mari M$(1).
DISPOSITION
DES CELIBATAIRES
(lignes en 7000)
La fonction Basic MIN(G,F) four-
nit le nombre de "couples de céli-
43
bataires", l'excédent en filles ou
en garçons sera conservé tel quel
(comment faire autrement). Là,
c'est très facile, on prend alter-
nativement un garçon, une fille :
G$(1), F$(1),G$(2), F$(2),etc ; ,
et on complète par "l'excédent".
Le tableau D$(D) est enfin ter-
miné. On a alors D = TOT.
L'AFFICHAGE
(lignes en 10000)
Les deux colonnes à l'écran figu-
rent les personnes en vis-à-vis.
Elles sont séparées par deux
caractères graphiques flèche gau-
che - flèche droite, appartenant
au troisième jeu de caractères de
l'AMSTRAD, obtenus en faisant
précéder de CHR$(1 ) (ceux obte-
nus au clavier par CTRL H, CTRL
I).
C'est la liste D1 (D) qui aurait été
pliée en épingle à cheveux, le
coude étant en bas de l'écran.
En bas de l'écran figure la
légende :
P = Permutation : c'est le change-
ment de vis-à-vis ; peut être répé-
tée un nombre indéfini de fois.
E = Edition (si vous avez une
imprimante) : la disposition pré-
sentée à l'écran est imprimée. On
peut demander une édition (ou
plusieurs) de diverses permuta-
tions.
Q = Quitter : tout est effacé, on
a alors le choix entre l'abandon
du programme et une nouvelle
saisie de noms.
LA STRUCTURE
DU PROGRAMME
L'auteur est un inconditionnel de
la programmation "structurée"
(ou "modulaire"). Ainsi, tout le
scénario du programme est dans
les lignes en 1000 (peu nombreu-
ses... ). Elles appellent les diffé-
rents sous-programmes (ou
modules) par des GOSUB ; d'où
une souplesse totale pour des
modifications ultérieures, et ce en
toute clarté puisque chaque
module (ou sous-module) débute
par un numéro de ligne multiple
de 1000. Une bonne et sage
habitude à prendre.
Autres précautions habituelles :
en ligne 100, toutes les variables
seront des nombres entiers : gain
en mémoire (2 octets au lieu de
5... ) et boucles FOR-NEXT deux
fois plus rapides. D'autre part, on
confirme le MODE 1 et l'ORIGIN
graphique afin de ne pas "héri-
ter" d'options antérieures qui ne
sont pas annulées par NEW ou
RUN.
En fin de programme, ligne 1300,
on restitue les options couleurs
par défaut que l'on avait modi-
fiées. Ce qui s'appelle laisser le
micro dans l'état où on l'a
trouvé...
*
LE TITRE ANIME
(lignes en 12000)
Il n'apparaît qu'en fin de charge-
ment. Sur l'écran, se dessine un
verre ballon qui se remplit de vin
rouge, du Beaujolais bien sûr, car
je suis chauvin sur ce point.
Ce grand arc de cercle (le ballon)
est tracé par une suite de "cor-
des de cercle" depuis 135°
jusqu'à 405° (lignes 12020 à
1 2050) . C'est très rapide. Le pied
est dessiné par des DRAWR
(12100-12110).
Le vin : sur un rayon légèrement
inférieur, afin de ne pas effacer
le verre, on fait PLOT sur un arc
de cercle depuis 270° (le fond)
jusqu'à 370° ; de là, on trace des
traits rouges vers la gauche, de
longueurs égales à deux fois le
cosinus de l'angle (lignes 1 2200
à 12230).
On attaque alors le texte :
La chaîne "Disposition des
convives" vient se centrer en
arrivant par la gauche de l'écran
(12310 à 12330). Puis, deux
lignes plus bas, la chaîne "autour
d'une table" vient se centrer en
arrivant par la droite (12340 à
12360).
En bas à gauche de l'écran, le
nom de l'auteur et l'année appa-
raissent caractère par caractère
en commençant par le dernier
(12400-124Ï0).
Deux secondes plus tard, il s'ef-
face de la même manière par
PEN = PAPER (.12420-12430).
Les boucles FOR J = 1 TO ... sont
des ralentisseurs.
En bas à droite, apparaît alors
"Pressez une touche", suivi de
CALL &BB06 (ligne 12450 ),
routine qui bloque le programme
en attendant un caractère au cla-
vier. C'est plus simple à écrire
que WHILE INKEY$ = " ":WEND.
NOTE : Toutes ces techniques
d'animations simples (et beau-
coup d'autres) sont décrites plus
en détail dans l'ouvrage du même
auteur "MIEUX PROGRAMMER
SUR AMSTRAD" (Editions
SORACOM). Hé hop ! un peu de
pub...
PETITS CONSEILS
D'UTILISATION DU
PROGRAMME
Il est nécessaire d'avoir un nom-
bre de couples supérieur à deux
afin que les conjoints soient sépa-
rés.
Pour ne pas séparer un couple,
exemple des jeunes mariés à un
repas de noce, il suffit de les
entrer en tête de liste des céliba-
taires.
Entrez les enfants en dernier, ils
seront ainsi regroupés.
Si le nombre total des convives
est impair, il y aura forcément
quelqu'un sans vis-à-vis. A vous
d'effectuer des permutations
successives (touche P) jusqu'à
trouver la solution viable, par
exemple la personne que l'on
peut mettre en bout de table.
Suprême avantage de ce pro-
gramme : si quelqu'un vous
reproche d'avoir été mal placé,
vous pourrez lui répondre par cet
air connu : "Ce n'est pas de ma
faute, c'est l'ordinateur... ".
EGi
INDE DES 7 AR TABLES:
A :
Angle en Degrés
B :
Nombre de vis-à— vis
p
Nombre de Coup les
C*
: Nom entré
D
Nombre de disposés
D*
: Noms disposés
E*
: Noms des Epouses
F
Nombre de Filles
F*
: Noms des ailles
FG
: FLAB de quitté
B
No.nbre de Garçons
St
! Noms des Barçons
I
Elément de Comptage
j
Elément de Comptage
L
N° ligne d'Ecran
M*
: Noms des Mari s
F'
Parité Couples
R
Rayon
R*
: Caractère Réponse
TO"
r : Total Convives
44
Couple
n°1
n°2
n°3
n°4
n°5
M$ E$
n
*
n
n
Figure 1
Ce mode de balayage des listes Maris et
Epouses assure une dispersion parfaite dans
la liste finale D$.
1 ** passage
C pair et impair
2 * m * passage
C impair
passage
C pair
10 ' TOUS A TABLE.
20 'Disposition de Convives autour d'une Table.
30 ' AMSTRAD * Michel ArchambauH * 1985
100 DEFINT A-2;0RIGIN 0,0:MQDE 1
200 GOSlffi 12000; 'TITRE
1000 ' DEROULEMENT DU PROGRAMME
1010 DIM M*(21),E*«2i),F*(37),G*(37),Dt(4t)
1020 PAPER 0:PEN 2; BORDER 15ICLS
1030 LOCATE 4 , 1 : PR I KT "E = ENTREZ LES NOMS DES GO
«VIVES. "
1040 LOCATE 4,13:PRINT "Q = QUITTER LE PROGRAMME,"
1050 Rt=UPPER* î INKEY* ) : ÎF R$="" THEN 1050
1060 IF R*="Q" THEN 1300
1070 IF RîO"E" THEN PRINT CHR*!7i :R$=" B IGOTO 1030
1100 GOSUB 3000: 'ENTREE COUPLES
1110 GOSUB 4000: 'ENTREE FILLES
1120 GOSUB 5000: 'ENTREE GARÇONS
1130 GOSUB 6000: 'CALCULS COUPLES
1140 GOSUB 7000: 'CALCULS CELIBATAIRES
!Î50 GOSUB 10000; 'AFFICHAGE
1200 SUN 1000
1300 BORDER 1; PAPER 0:PEN l;CLS
;3!0 END
3000 ' ENTREE DES COUPLES
3010 PAPER l:PEN 0: BORDER 14',GLS;G=i;L=l
3020 LOCATE 5. 2: PRINT "20 COUPLES saxi ; QUITTER—
) G"
3100 LOCATE 2,3+L;G0SUB 3500:1F FQ=1 THEN 3200
3110 LOCATE 21,3+L:GOSUB 3500: IF FQ=1 THEN 3200
3120 L=L+i'.GOTO 3100
3200 RETURN
35ÔÔ LINE INPUT "Mr,H»e ".Ci; IF UPPER$(Ci)="Q" THE
N FQ=i;C=C-l:GOTO 3600
3510 G*=LEFTi(C$,12) ;M$(C) = "Mr "+C$:EI(C)="Miie "+C
i
3520 T0T=T0T+2:IF TOT=40 OR C=20 THEN PRINT CHR$(7
!:FOR 1 = 1 TO 4000 : NEXT : FQ= 1 : GOTO 3600
3530 PEN 3:LOCATE 9,24:PRINT C; "couples « Total»"
:TOT:PEN
3540 C=C+ 1
3600 RETURN
4000 ' ENTREE DES DEMOISELLES
4005 IF TOT=40 THEN 4600
40 10 PAPER l:PEN 0: BORDER 7 ; GLS : F= i :L=! : FQ=0
4020 LOCATE 3,2:PRINT "36 DEMOISELLES maxi : GUITT
ER— > Q"
4100 LOCATE 2,3+L:GOSUB 4500: ÏF FQ=! THEN 4200.
4110 LOCATE 21,3+L:GQSUB 4500: IF FQ=1 THEN 4200
4120 L=L+l:GOTO 4100
4200 RETURN
4500 LINE INPUT "Mie ",C* : IF UPPER* (C$ 3 = "Q ,! THEN F
*
Qzj ;F=F-1 :G0T0 4600
FTi(Ci,i2};FiiF)="Mfe "+Ci
tJlV ul-LD
4520 IOI=ÏÛÏ+i;IF TOT=40 OR F=36 THEN PRINÎ CHRii?
):FOR 1 = 1 TO 4000 ; NEXT : FG= 1 ; GOTO 4600
4530 PEN 3; LOCATE 7, 24: PRINT F; "Desaise! les ** Tôt
3l=".:TOî;PEN
4540 F=F+1
4600 RETURN
5000 ' ENTREE DES GARÇONS
5005 If TOT=40 THEN 5600
5010 PAPER i 'PEN 0;BORDER 1 ;CLS:G=Î ,L=1 :FQ=0
5D/0 LOCATE 5,2:PRINT "36 GARÇONS maxi ; 9UITTER-
> Q"
5100 LOCATE 2.3+L;GOSUB 550C: IF FQ=i THEN 5200
5 1 10 LOCATE 2î,3+L;GOSUB 5500: IF FQ=1 THEN 5200
5120 L=L+i;GOTO 5100
5200 RETURN
5500 LINE INFUÏ "** ",Ci;IF :;PPERi{n») = a Q" THEN F*
=l:G=G-l:GOTO 5600
5510 Ci=LEFTi!Ci,12);GiCS)="** "+Ci
5520 TOT=TOT+l:IF TOT=40 OR G=36 THEN PRINÎ CHRi(7
):FOR 1 = 1 TO 4000 ; NEXT ;FQ=1: GOTO 5600
5530 PEN 3: LOCATE 9,24: PRINT G'"Gai"cnn=. W Total="
'TOT; PEN
5540 G=G+1
56C0 RETURN
6000 ' DISPOSITION COUPLES
cOiO D=C: IF C=0 THEN 6900
6020 IF ÏNT!C/2></2 THEN P=l
M 00 'FASSftGE 1
6110 1=1
6120 D=Dt;;D*.D:=MiiI)
6130 IF HC THEN D=D+l:DiiDî=Ei!
:I=I+2;G0T0 61
*
6150 IF P=l THEN 6300
6200 ' PASSAGE 2 C IMPAIR
6210 1=1
6220 D=DM;Di!Dî=Ei(I)
6230 lî 7 HC THEN D=D+1 ;Dt îD)=Mf i I + ï
90
6240 GOTO 6900
6300 ' PASSAGE 2 C PAIR
6310 I=2;D=D-1
6320 D=D+i:D*;D)=M$m
6330 D=D+s:Di(B)=Ei(I-l!
6340 IF 1=0 THEN 6900
6350 1=1 +2; GOTO 6320
6900 RETURN
7000 'DISPOSITION CELIBATAIRES
7010 A=MIN!G,F):IF G+F=0 THEN 7900
n IGOTO 62
45
?C3( D=D+1 Dï!Dï=G»il •L^* -'' : PRÏHI T . ! ' ' Dtïï);SPCS20-LEN(D$(i) S !
?040 D=D+'.:D*iD)=F«US y^C '"iiiïr^+i-D
7C50 NEXT V -040 NEXT
7060 IF G=F THEN 7900 [-050 PRINT «8
7070 IF G<F THEN 7200 i;-)b0 RETURN
7i00 FOR i=?+î TO G l?000 TITRE
"110 D=B+l:D$(D!=Gt(I! ^ Jfc» 12010 KDE ÎTAPER 2;PEN OiBORDER 9:CLS:R=100
>«
12020 DEGlFLOT 249,271,0
7130 GOTO 7900 W i 2030 FOR A=!35 TO 405 STEP 10
7200 FOR I=G+1 TO F iv;;4fi DRAW ft*COS!A!+32û,R*SIN<A)+200
7210 D=D+l:Di(D)=Fi!I) ; 2050 NEXT
•220 NEXT •l^ 1 2 1 00 PLOT 310, 1 OC ; DRftWR Q.-50;DRAWR -60, Tu
'9ÛC RETURN 75^ i 21 î DRAliîR TTOTRAwR -60, 1 ! DRftWR 0,50
10000 'AFFICHAGE 1) 122C0 R= 5 8
10010 PAPER 2:PEN OlBQRDER 9:CLS:PRÏNT 12210 FOR A=2?0 ÎO 370
10100 IF INT(TOT/2XTOT/2 THEN TOTTOTT 1 2220 Pin? OO3in)tR+320,SINïASiR+200,3
10110 BTOT/2 l* 12230 DRAWR -COS« A)*R*2 , ; NEXT
10120 FOR 1 = 1 Tu E ^d. 12300 ? C N 3;H$="DISPOSITION DE CONVIVES" :B$="AUTOU
10130 PRINT ! " D*( I ) : ;PRINT TABU9! CHRlf 1 l.THRîi <T*% 5 TUNE TABLE. ::
8!;CHR$!1);GHR$<9!;" "; D$ < TOT+ 1 - 1) 12310 ni=SPACEî \ « 40-LEN i H$ ) 1/2-D+HI
10140 NEXT ;2^2Û FOR 1=1 TO LEN(A*Î ; FOR 1=1 TO lOOlNEXT
10150 PEN 3:LOOATE i,24:PRINT TOï;"P=Periutation; %**A 12330 LOCATE 1 ,3-PRINT RIGHTïlA$,Ii ;NEXT;PEN
E=Edi t :oriJ Q=Ql! lier" ;PEN Q:R$="" /W^ i234 ° A$=B$+3PACE$( (40-LENïB* ) Î/2Î
10160 R$=UPPERi;iNKEYt);IF R$="" THEN 10160 O ;2350 FOR 1=1 ÎO LEN(A$) :FOR 1=1 TO 100;NEXT
10170 IF R$="Q" THEN 10900 ;23ftQ LOCATE 41T, 6: PRINT LEFTiini, I) INEXT
10180 IF R$="E" TKEN GOSUB 1 1 000 ; R*= !M! ; GOTO 10160 £, 124)0 N$ = ' ; n,Archs«ibsu! t-1935" TOR 1=18 TO 1 STEP -
TiT IF R$<TP !: THEN 10150 *S^^ '
1C200 'PERMUTATION <r*% 12410 LOTTE ;+l,24;PRINT MIDt<N$ ,1 , 1 i ;FOfi J=l TO
10210 D$(ûi=Difl' 100 NEXT: NEXT
10220 FOR 1 = 1 TO TOT-1 ;D$U!=D$UT ) 12420 FOR J=l TO 4000:NEXT;PEN 2 : FOR 1 = 18 TO 1 STE
10230 NEXT M^J> p "î
10240 DîTOE =D$(Q) T^Q 1243 ° L - CATE " + 1 ' 24 PRINT MID$!N$ 7 I , 1 î :FOR J=i TO
10250 R*="";GÛTO 10000 <J 100 NEXT; NEXT
10900 RETURN 12^50 FEN 3;LOCATE 22,24;PRINT "pressez une touche
Î1000 'EDITION ^ 'TCALL ÎBB06
11010 PRINT »8,CHR$;27);CHR$!64i wJ^ 12500 RETURN
11020 FOR 1 = 1 TO B ^>A 6553: ' FIN DE LISTING
A\A/ARI
30 'l
O
o
so ' ttinnxttt.t%n%nnnîn%itnutt
7 GOSL'E 1460 ' présenta: 'o r : ?' règles
80
^^ 100 KX=i;QX=14:P8=iS-FX=50:DX=12
° n MU D$=SPflGE* ( 39 î
12: DIM B'Q";,T ; 3lï,YiQB},»;Qi;,vl6),Uiô),ARu
O 5}
A O
AWARI est un jeu de réflexion w • 140 =========== DEPAE
d'origine africaine où vous affron- O 150 RANDOKIZE TIME
tez votre CPC. De toutes les * A
variantes de ce jeu, celle-ci per- O ^W °
met au mieux d'exercer ses o
talents de tacticien, surtout dans O m
le maniement des grosses mai- • •
sons. A noter : la particularité de AM\ 210 G0SLB 1410
COSUB 1280
GOSUB 1140
H : (0/N; ! '
7 I n
pouvoir se déplacer dans la par- UJ O 22C GOSUE
tie au moyen des flèches horizon- ^ 230 i-CCATE 1,24:?RINT D$
taies et de reprendre ses coups • O 240 IF R»="0" JHEM G0RX=
permet de progresser plus rapide- O ^ ~ i! " ■"* r) ÎHEN 20 j
O
bu
O w 2"0 '======= BOUCLE PRINCIPALE
GOSUB 2700 ; ARi COUPS, 15) =1
ment dans l'apprentissage de ce
grand classique des jeux de stra-
tégie. Les règles du jeu sont indu- n QA 290 PEN ~2 ; LOCATE i ,21 ; PRINT
.ses dans le programme. O WW PRINT" je réfléchis tigosub ?h
46
o
o ^o
o o o/o*
300 ÎF m<A THEN 1380
310 LOCATE 1,21:PRINT Dt;;LOCATE 1,21;PRINT ! ' JE J
QUE EN ";M%; SOUND 7,100,10,5
320 SCPC%=0: FOR JX=1 TO Q%;T!JX)=B(JS!lSCPC%=SCPC
Îi+B ( J% ) ; NEXT : GOSuB 710
330 ÏF SCPCSOO THEN 360
340 OK%=0:FOR IX=1. TO 6: IF Biï%)+I%>=7 THEN OK*=l:
NEXT
350 IF OK%=0 THEN 1380
360 FOR J%=1 TO Q%;Bi J%i=T< J%) ;NEXT;GOSUB 1150
370 IF B!Q%!<24 THEN INTER%=û;GOTO 400
380 LOCftTE l ; 2i:PEN 3;PRINÏ" J'AI GAG
NE |,! ;DS:GOTO 570
400 ======= JEU DU JOUEUR =============
410 IF INTSR%=1 THEN 430
420 LOCATE 1,24: PRINT Dî! LOCftTE 1,24; PEN ZlPSINT"
QUEL EST VOTRE MOUVEMENT ? (1 - 6! "
430 GOSUB 1410
440 LOCftTE 1,24;PRINT D$
450 ÏF ASCiRt)=242 THEN GOTO 2600
460 ÎF ASC (R$) =243 THEN GOTO 2730
470 IF R$<"1" OR Rt>"6" THEN 400
430 IF INTER%=1 THEN 430
490 GOSUB 2700 ! ARi COUPS, 15 )=0
500 MS=VftL!R$)
510 FOR n-\ TO QX',TUXî=B<J*!:N£XT
520 GOSUB 710: IF KS<0 TKEN 650
530 FOR «=1 TO QX;B(JX)=T(J%):NEXT
540 KN%=MNX+l; GOSUB 1140
550 IF B(P5U<24 THEN 270
560 LOCftTE 1,21: PEN 3;PRINT ,; BRAVO ! VOUS
AVEZ GAGNE. ";D*
570 PEN 2:LOCATE i,24;PRÎNT" VOULEZ-VOUS ANALYSER
CETTE PARTIE ?"
580 GOSUB 1410
590 IF Rt="O u THEN COUP%=0: LOCATE i,21;FRINr
"+CHR$(242)+ B ou JEU ou "tCHR$(243!+D»:GO
TO 2730
600 LOCATE 1,24: PRINT" VOULEZ-VOUS JOUER UNE AUTRE
PARTIE IO/N)"
610 GOSUB 1410:1F Ri= H C" THEN 140
620 IF R$="N" THEN CLS;LOCATE 15,15; PEN 3iPRINT B AU
REVOIR" ;CALL £BB!8;ENC
630 GOTO 610
640 ;
S50 '=====«= COUP ILLEGAL =============
660 PEN 3;LOCATE 1,24 :FOR i=l TO 1 5 ; SOUND 7,50,2,
1 2 : FOR j=l TO 20 ; NEXT j,i
670 IF M%=-1 THEN PRINT" CETTE CftSE EST VIDE."
680 IF M%=-2 THEN PRINT" IL FAUT LAISSER DU JEU A
L' ADVERSAIRE."
690 FOR ï=l TO 1000;NEXT:PEN 1 ; COUP^COUPS- 1 : GOTO
400
700 :
710 :=:::::: CASE VIDE ?? "- = = -"= =
720 IF T!MS)=0 THEN HX=-i; RETURN
730 !
74C
750 Rt="H" ; IF H»>6 THEN RÎ="CPC" :GOTO 770
760 FOR J%=1 TO Qs : Y ( J% ) =T « J% ! ; NEXT : GOTO 790
770 FOR Vk-\ TO 6;Y!JS)=T! JX+6>:Y!JS+6)=Ï< JX):NEXT
780 Y(PK)=T<Q%) ;YiQSi=TiP%) ; H%=M%-6
790 CK=M%;NS=YîC%!:FOR JX=1 TO N%:C%=CS+1
300 IF CI=P% THEN CS=i
810 IF C%=m THEN C%=C%+1 :GOTO 300
S20 YIC5U=Y<T'U-1 :NEXT:YiMS!=0;L%=«
830 IF L%<7 OR Y « LS ) > 3 OR Y(L%)<2 THEN 350
H40 Y f P^i=Yip%)+Y(L%) ;Y(L%)=0:L%=LK-1 ;GOTO 830
350 3%=0:FQR JK=7 TO D%:SI=S%+Yi 1%) :NEXT
360 IF Ss=0 THEN MK=-2;RETURN
S7C IF R$= !! H" THEN FOR J%=1 TO Q% ; T( J%»=Y( JS5 NEXT
; RETURN
380 "OR JS=1 TO ô'T; JK'=Yi J%+6) ;T( J%+6)=Y( J%ï ;NEXT
890 T(3%)=YCP%) ;ï(PS!=Y(Q%) iRETURN
900 ;
920 :
930 FOR AS=! TO 6:M%=Aa+6: IF B(M%) =0 THEN USA5U=-F
% : GOTO 1100
940 FOR JS=! TO QXlïl JS)=5! JS) :NEXT:GOSUB 710
950 IF M%<0 THEN U«n%)=-F%;GOTO 1100
950 IF TÏQ%)>23 THEN MS=A%+6 , RETURN
970 FOR J%=1 TO Q%;W( J%S=îi J») :NEXT:FOR KX=1 TO 6
980 IF T(KX)=0 THEN V(K%)=F%;GOTO 1080
990 FOR «=1 TO GS ; T! « !=¥ (JX>: NEXT :JK=KX; GOSUB 71
ÎOÙO IF HX<0 THEN V(KX)=F%;GOTO 1080
1010 XA=0:X8=Q,05;XC=C;XB=û;FQR J%=7 TG DS
1020 X3=XB+T;îS);IF T!J!i!>0 THEN XA=XAt!
1030 IF TUSK3 THEN XC=XC+1
1040 ÎF TiJXÏ/XD THEN XD=T\JS/
1050 NEXT ;XE=X3: FOR JX=1 TO à;XE=XE*T( J%; ;NSXT
f^A ip~, .k'k xn-l-tn/?B (SC=!-XC/6 XB=XB'1É
î 070 VÏKS ! =Zft* ! Xfi+XB > +ZB* ( XC+XD ! +T \ QS ) +B ! ?% i -B i QX S
-T'pt'i
1030 NEXT :UiAX)=FX: FOR ÏX=1 TO à: IF ViJXKUifiS) TH
EN U(AX)=VUX)
1090 NEXT
1130 PRINT".": ; NEXT ;M%=0;XA=-F%; FOR J%=1 TO 6
1110 IFSU!JS)>XAS THEN XA='Jf J%) :H%=-T%+é
1140 ========== AFFICH. DES PIONS =====
1 150 FEN 2; LOCftTE 5,5:PR!NT"CPC" : HEN 3
1160 FDn JX=Û TO 5 1 LOCATE 4? JS+iO , 9 ; PRINT 8U2-JS)
1170 IF B(12-JX5=Q THEN PEN 0:PR1NT CHRi(8)*CHR*i3
!+STRINGî;2,143);;PEN 3
1180 I r BÎ12-JXÏ>9 THEN PEN i; PRINT CHRf <3;+CHR*;l
43); ;PEN 3
1190 NEXTlPEN 3:LOCATE 5,11 PRINT BiQS)
1200 L.OCATE 1,13; FOR JK=0 TO 5
1210 LOCATE 4* Jïi+10, 13PRINT B(JS+U;
1220 IF BiJX+l)=Q TKEN PEN OlPRINT CKR* (8 ) ^-CHRt ( G )
+STRI NG* f 2 , 1 43 ) ; : PEN 3
1230 IF B(JX+1>>9 THEN PEN 1 : PR I NT CHRî!8)+CHRt<14
O j ; • 3FJI 3
Ï240 NEXTiPEN 3 : LOCftTE 34,11 ;PRINT B(P%):PEN 2
1250 LOCATE 34, :7;PRINT"V0US ,i
1260 RETURN
1280 -------- TRACE Du JtU ============
1290 C%=4lL*=7: GOSUB 1770
1300 PRINT CHRîi30S;;PEN 2;FOR Vk-\ TO 3;PRINT TA5
i 1 è > STR I NG $ ( 1 1 . 1 4 3 ) ; NEXT
13;: PRINT CKR>!30 -CHR*\22)+CHR1(1); ; PEN S, FOR IX
=1 TO 3;PRINT TftBi 16iSTRING<fil ,207; :NEXT:LOCftTE 1
7,2: PEN 3' C RINT"A W A R I " IPRINT OHRï ï22)+CHRî ^0>
1320 FEN 2;LOCATE 11, 5. FOR ÎS=0 TO 5:PRINT TAB(4*J
S+105;12-J*;:NEXT
1330 LOCATE îl,l:;F05 Js-0 TO 5 ; PR I NT TftBi4*JS+10)
; JS+l; ;NEXT
1340 INK 1,3; IKK 2,13 INK 3,25
Î35Ô RETURN"
Î38Ô PEN 3 . LGÔATE^loVï? : W pRÎ*NT"PA£ DE MOUVEMENT LE
47
\ jVO ir 3<rS?=rMtf3) Tntu FitiNTifKinT
PitRTïE NU^LL. : 'G0TO 570
1400 IF B(QS)>BiPI! THEN 380 ELSE 5sG
1410 REM ============ O/N ==============
1420 Rî=UPPERÎ(INKEY*) ; IF R$O f: " TKEN 1 42C
1430 R>-UPPER$(ÏNKEYS- ; IF R$=" THEN 1430
1440 RETURN
14c
ER
PRESENTATION ==========
m
i qr sq<
: 430 SYM3CL 251, L
1490 SYMBOL 252 ^IF^TF^TF^FF^FF^FF.^FF ,iFF
t r,~fi £ï»mi 7BO ipc *c? *pp 8.FP fcPF S.PF R.PP HP?
510 SYffiQL 254,&,FF,«fF,8JT,&FF,«?,« ! FE,&FE,e 1 F3
:520 SYMBOL 255,«.FF,8JT,MT,H ? F J «JT,i l 7F.« 1 7F,l l lF
1530 ft$=CHR$ ; 143 > +3TRING» 1 1 2 , 32 > +CHR* ( 1 43 ) -. PEU 1:L
OCftTE 14-1 ;FCR IX=î Tu 2: PRINT TAE(14) A*: : NEXT
1540 'iIDî'ft*,û,4)-STRINGt:4,143);PRlNT TAB'14) Ai
1550 0*iA*,5',6)=STaiNGî:6,143);PRINT TAE (143 A*
1560 PRÎNÎ TfcB.14)STfi!NGt',14,143i
1570 PCP. i%--> TC t PRINT TRE( 1 7 >STRING$ « 8 , 143^ : NE
153C FOR Ï%=1 TO 3 : PRÏNT TABU8)STRING*(6, 143: :NEX
159C PRINT TABU9)STRîNG*(4,143)
1600 PRINT TfiBt2C!STRING$(2!l43}
1610 As=CHR*i214i+CHR*!143)+CHR*(215S:PRINT CHR*(2
2;+CHR*(lJ;:LOCATE 18,6 PEN 3:FHINT A*+A*
162D ftt=CHSt •' 222 ) +CHR* ( 207 ) +CHR* î 223 5 : LOCATE 18,6;
PEN 2:PRINT Aî+ft$
î 630 PRINT TAB,18)STRINGI(6,143)
1640 A*=CHR*(213)+GHR*!143!+CHR*(212);PRINT TABU8
)hi*M
Î65C LOCATE 19,7 ; PEN 0;PRÏNT CHR* (231): LOCATE 22, î
; PRINT CHR* (231)
1660 LOCATE 19,12; PEN 3:PRINT STR1NG* (4,196); LOCAT
E 19,13:PRINT STRING*(4,196)
1670 PRINT CHHt(22;*GHR>i0);
1680 PEN i : LOCATE 16,20:PRINT CHR*!252)+STRING*i9,
H3HCHR*(253)TABUè')STRING*(îl,143)TABîlè!CHR*(25
5)-STRING>«9,143)+CHRÎ(254>
16*0 PEN 31L0CATE 17,21 iPRINT CHR* ( 22 ) -CHR* ( 1 5 "A »
A R I*+CHR*(22)+CHR*(0)
1700 PEN 2; LOCATE 2,24: PRINT "VOULEZ-VOUS LA REGLE
DU JEU ? (O/N!"
î7!0"gQSUB"i410
1720 IF S$<>"0' THEN RETURN
1720 CX=4;L%=3: GOSUB 1770
1740 INK 1,3;INK 2 , 1 3 : 1 NK 3,25
1750 G0SU3 2020: RETURN
1760 :
Î770 ■====== TRACE Du TABLIER ==========
1780 CLS;INK 0,0:INK l,0:INK 2,0;INK 3,0
1790 PEN î ; LOCATE C*,LK;PRINT CHR$ < 252) +STRÎNG* ( 33
, 143)+CHR$(253) ; :FOR IX=1 TO 7:PRINT TABi4)STRING*
(35,143): :NEXT:PRINT TAB f 4 )CHRt « 255 ) -î-SÏRINGt (33,14
3 i +CHR* i 254 )
1800 PRINT GHR$(22)+CHRt(l)
1810 PEN û;LOCATE CX,LX+1:PRINT CHRt ( 9) ■i-CHR$(252>
+STRING*i2.143)+CHR>(253!;;FOR IX=1 TO 6;PRINT CHR
*f9!+CHR*<252)+ CHR$(143)+ CHRi(253) ; ;NEXT: PRINT C
HR* i 9 j +CHR* \ 252 ) +STRI NG$ (2,143) +CHR* ( 253 5
1820 PRINT TAB!4)CHRt(9!+STRING*(4,143i;;FQR I%=1
T0 6;?RINT CHR* 1 9 ! +STRÏ NG* (3,143);; NEXT ; PRINT CHR*
(9)+STRING*!4,i43,
1630 PRINT TABÎ4)CHR$i9i+STRING$(4,143!;FOR I%=1
TO 6; PRINT CHR*{9)+CHR${255)+CHR*U43!+GHR*.254!;:
NEXT ;PRINT CHR*(9)+SÎRING*(4,143);:PRINT TAB(34)S
TRINGJ.4,143)
1E40 PRINT TAB(4 ;CHR$( U ) +CHR$ ( 9 ) +STRÏNG» (4, 143)
° •" •. • o» .°*o : .°» •• . °. # ? o .•
1350 LOCATE Cft,L%+5;FRINT CHR* ( 9 ) +STR I NG * ( 4 , 1 4 3 ) ; ;
FOR IX=1 TC 6;PRINT CHR* ( 9 ) +CHR* ( 252 ) +CHR* (143)+ C
HRî'253;::NEXT:pRINT CHR* î 9 ) + ETRING* (4 , 143 >
1860 PRINÏ TABC4)CHR* ( 9 ) +STRING* ( 4 , 143) ' : FOR IX=1
TO 6;PRINT CHR* (9 ) +STRING* ( 3 , 143 ) : :NEXT;PRINT CHR*
:9'*STR!NGt(4,143i
18^0 PRINT TAB14! CHR* i 9 ) +CHR* ( 255 ! +STRING* (2,143)
-CHRî!254i;:F0R IX=1 TO 6;PRINT CHR* ( ? ! +CHR* (255) +
DHR * ( 1 43 ) +CHR* 1 254 ï ; : NEXT : PRINT CHR* ( 9 î +CHR* ( 255 ) +
ETRING* (2,143! +CHR* ( 254 )
1380 ?RÏNT CHR*î22S+CHR*i0)
1890 'INK , : 1 NK 1,3: INK 2,13; INK 3,25
1900 RETURN
1910 :
1920 ========== 4 GRAINES / CASE ======
1930 PRINT CHR*! 30): PRINT CHR* ( 22 5 +CHR* ( i ) ;
1940 PEN 3:LS=3:FCR GX=10 TO 30 STEP 4:GOSUB 1980:
FOR IX=1 TO 150; NEXT: NEXT
1950 LX=4:FCR C%=30 TO 10 STEP -4;GOSUB 1980; FOR I
X=l Tu 150: NEXT; NEXT
i960 PRINT CHR*(22)+CHR*(0);PEN 2
1970 RETURN
1930 LOCATE Cs,LK;PRINT CHR*(136) ;lCCATE 0%,L%+2;P
RINT CHR* (130): LOCATE C%+2,L%+2: PRINT CHR*(129);LO
CATE 0%+2-L%:FRINT OHR*( 132) : SOUND 7,50,2, 1 2 : FOR I
%= 1 TO 50; NEXT; RETURN
1990 ;
2000 ========= APPUI TOUCHE ===========
2010 LOCATE 33,25;PEN 3 ; PRINT" APPUYEZ" ; :CALL &BB18
:LCCATE 33,25:PEN Q;PRINT STRING*(7,143ï; ; PEN 2:R
ETURN
2020 '======= REGLES DU JEU ============
2030 PEN 2; LOCATE 1,16;PR1NT"LE PLATEAU DE JEU CQM
PORTE 12 ALVEOLES"
2040 GOSUB 2000
2050 N?i=l:FOR IX=10 TO 30 STEP 4: LOCATE 1%, 12:PRIN
T N,ï;SOUND 7,200,5, 13;FOR J=l TO 1 50 ; NEXT : N%^N%+ î :
NEXT
2060 FCR I%=30 TO 10 STEP -4; LOCATE 1%, 2: PRINT N%;
SOUND 7,200,5, 13 :FOR J=l TC i 50: NEXT : N%=N%+ i ; NEXT
2070 LCCATE I ,18;PRINT"REMPLIES AU DEPART DE 4 GRA
INES CHACUNE.": PRINT
2080 GOSUB 2000: GOSUB 1920
2090 LOCATE 1 ,20:PRINT"LES 6 ALVEOLES DU BAS ( NUM
EROS 1 s 6 i":FRINT
2100 PRINT'OONSTÎTUENT VOTRE CAMP. CELLES DU HAUT"
; PRINI
2110 PRINT'-'SONT CELLES DE VOTRE ADVERSAIRE."
2120 GOSUB 2000;tfINDOW #1 ,1 ,40, 13,25;CLS#1
2130 LOCATE 1,14
2140 PRINT'OHAQUE JOUEUR A TOUR DE ROLE PREND LE":
PRINT
2150 PRINT" CONTENU D'UNE CASE DE SON CAMP ET SEME"
; PRINT
2160 PRINT"TOUTES LES GRAINES QU'ELLE CONTIENT UNE
'! PRINT
2170 PRINT "PAR UNE DANS CHAQUE CASE EN TOURNANT":?
RINT
2180 PRINr'DANS LE SENS INVERSE DES AIGUILLES" :PRI
NT;PRINT"D'UNE MONTRE."
2190 GOSUB 2000 :CLS #1
2200 LOCATE 1,16 : PRINT "EXEMPLE DE DISTRIBUTION;
CASE N"+CHR*!167)+"4."
2210 LOCATE 23,13;PEN 3;PRINT CHR*(240)
2220 FOR 1=1 TO 500: NEXT
??QA ppf' j
2240 PRINT CHR* ( 22 ) +CHR* ( 1 ) : LOCATE 22, 8; PEN 0:PRIN
T CHR$(1361+" " +CHR* ( 1 32 !; LOCATE 22,!0:PRINT CHR*(
130)+" "+CHR*(129)
2250 FOR 1=1 TO 800; NEXT
48
# .o\o°
o * ° o ° <
o» ••»••• • "• O • <-» "o • O
2260 LOCATE 27,9:PEN 3;PRINT CHR* i 25 1) ; SOUND 7,100
,10,12
2270 FOR 1 = 1 TO 800:NEXT
2230 LOCftTE 3i,9;PEN 3;PRINT CHR*(251) ISOUND 7,100
.10,12
2290 FOR 1 = 1 TO 800 ; NEXT
2300 LOCftTE 31,5: PEN 3;PRINT CHR* ! 251 ); SOUND 7,100
,10,12
23ÎÔ FOR 1=1 TO 800:NEXT
2320 LOCftTE 27,5;PEN 3;PR!NT CHR$<251) : SOUND 7,100
,10,12
2330 PEN 2; LOCftTE i,20:PRINT"SI Lft CftSE CONTIENT P
LUS DE 11 GRAINES": PRINT
2340 PR1NT"0N EFFECTUE UN SECOND TOUR EN SAUTANT" ;
PRINT
2350 PRINTSA CASE DE DEPART."
2360 GOSUB 2000 :CLS #1
2370 LOCATE 1,14: PEN 3;PRINT"PRISE: ";PEN 2
2380 PRINT;PRÎNT"SI LA DERNIERE GRAINE DISTRIBUEE
TOMBE"
2390 PRINT:PRINT"DANS UNE CASE ADVERSE CONTENANT D
EJA "
2400 FRINT:PRINT"UNE OU DEUX GRAINES, LE JOUEUR FRE
ND"
2410 FRINT:PRINT"TOUT LE CONTENU DE CETTE CASE (2
OU 3i"
2420 GOSUB 2000 CLS #1
2430 LOCftTE 1 ,14;PRINT"SI Lft CASE PRECEDANT CETTE
CASE VIDEE"
2440 PR I NT ; PR I NT " CONT I ENT 2 OU 3 GRAINES, CES GRAIN
ES SONT"
2450 PRINT i! PRISES ELLES AUSSI ET AINSI DE SUITE"
2460 PRINT:PRINT"EN REMONTANT JUSQU'A CE QU'ON ARR
IVE SUR"
2470 PRINT'UNE CASE NE CONTENANT NI 2 NI 3 GRAINES
2480 PRINT ;PRINT :, OU DANS SON PROPRE CAMP,"
2490 GOSUB 2000: CLS #1
2500 LOCATE 1 . : 6 PEN 3:pRINT !! DOr; DE GRAINES:"
O •
O
2510 PRINT, PRINT;PEN 2;PRINÎ i 'SI L'ftDVERSAIRE N'A P
lUS DE GRAINES"
vv-a s"'NT'PRINT"IL FAUT LUI EN DONNER OBLIGATOIRE
MENT."
2530 PRINT:PRINT"SI C'EST IMPOSSIBLE, LA PARTIE S'A
RRETE."
2540 yOSUB 2yC0;CLS #1
2550 LOCATE 1 , 1 8 ; PEN 3;PRINT a GAIN DE LA PARTIE" ;PE
N 2
2560 PR!NT;PRINT' PRINT:PRINT"LE PREMIER A AVOIR 2
4 GRAINES A GAGNE."
?5ff) "flÇrg 70-13 '"' • R . #1
2580 LOCATE ! ,18:PRINT"LE PROGRAMME PERMET LE RETO
!JR EN ARRIERE": Phi NT "AVEC OU NON LA REPRISE D'UN C
OUP AVEC ,! :PRINT:PRINT"LES TOUCHES "+GHRï\242) + !i ET
"+CHRÎÏ243Î
2593 GOSUB 2000;RETURN
2600 REÏ! ===== RETOUR EN ARRIERE ======
2610 IF COUPAI THEN 400
2620 LOCATE 1 : 21: PRINT D$
i6Ju ujai *-uUurs i
2640 GOSUB 2690
2t50 !NTERS=AR!COUP%,15)
2560 G0"0 400
26'! :
2680 TRANSFERTS
2690 FOR \%-\ TO 3%;B(I%)=AfiiCQUPS,IS> ".NEXT- GOSUB
11 40 ; RETURN
2700 COUPS=COUPS+i:COUPMAX*=COUPS:IF GOUPS=300 THE
M IF B(Q/»i>B(P%i GOTO 380 ELSE IF B(P%)>EiG%! THEN
GOTO 560 ELSE LOCATE 1-21: PEN 3:PRINT" M
ATCH NUL .,,. '.GOTO 570
2710 FOR 11=1 TO Cffi:AR'COUP%,IS)=EU!i);NEXT
2 7 20 RETURN
2740 IF C0UP^=C0UPHAX£ THEN 400
2750 COUP^COUPs + l
2?7C irER ! ï=AR'COU D S.:5)
;?0: ÛC-T-Ô 400
PETITES . ANNONCES
f
Du matériel à vendre, des
contacts à prendre, des logiciels
à échanger ? Une seule adresse :
les petites annonces de CPC.
Pour une somme modique (3 tim-
bres à 2,10 F), vous bénéficiez
d'un support largement diffusé.
Qui plus est, votre texte passera
dans une autre revue ; MEGA-
HERTZ (Informatique et Commu-
nication) : une chance supplé-
mentaire de faire des affaires !
*¥¥¥
Vends console vidéo Philips G. 7400 état neuf
+ extension Basic + 12 cassettes de jeux :
2500 F. Tél.: (88) 01.72.68.
Echange, achète programmes AMS-
TRAD CPC 464, cherche notice en fran-
çais, Battle for Midway. J-P. WOJAC-
ZEK, 10 allée des Peupliers, 78390
BOIS D'ARCY.
Vends cause double emploi imprimante Laser
PP50 coul. état neuf, juin 85, garantie :
900 F. P. LEONARD, 95b rue de l'Aigle,
92250 LA GARENNE COLOMBES.
Stéphane, possesseur d'un 664, aimerait
échanger des idées et des programmes ( 1 20)
sur cassette ou disquette (jeux, utilitaires).
Tél.: (3) 468.41.39. ■
Prisonnier cherche pour AMSTRAD 464
trucs, astuces, aides, contacts, listings, etc.
Tout contact bienvenu. Egalement échange
programmes. LANDRY - 4108-B/349, 10
quai de la Courtille, 77011 DELUN.
Cherche personnes possédant le CPC 464 et
664 pour échange de programmes d'astu-
ces... Envoyer vos listes d'échanges, répon-
ses assurées. Eric PRAT, 1 allée Claude
Debussy, 45390 PUISEAUX.
Possède 100 logiciels AMSTRAD dont 40 lis-
tables. Cherche utilitaires de qualité en
échange, ainsi que jeux. Robert CROC, 4
impasse Riquet, 31700 BLAGNAC.
AMSTRAD CPC 464 : logiciel moniteur simu-
lateur DX CW : étude progressive et entraî-
nement code morse, toutes vitesses, tous
symboles, avec superposition de souffle,
interférences, brouillages par autre CW,
fading, etc. Simulant une réception DX. 13
paramètres à introduire permettant toutes
configurations. Textes en clair ou codes aléa-
toires. Tableaux de corrigés en calculateur :
125 F. PICAULT, 13450 GRANS, Tél.: (90)
55.91.65.
49
POUR VOUS
LES SYNTHETISEURS DE FREQUENCE
Michel LEVREL - F6DTA 125 F
COMMUNIQUEZ AVEC VOTRE ZXÔ 1
2° 2DITI0N
BENIS BONOMO & Eddy DUTERTRE 90 F
EXTENSIONS DU ZX Ôl
collection poche E. DUTERTRE
COMMUNIOUEZ AVEC ORIC ET ATMOS
Denis BONOMO & Eddy DUTERTRE
PROGRAMMES POUR ORIC
E. JACOB & J.PORTELLI
NAVIGUEZ SUR ORIC ET ATMOS
collection poche E.JACOB & J.PORTELLI
APPRENEZ L "ELECTRONIQUE SUR
ORIC ET ATMOS
Pierre BEAUPILS
48 F
145
45F
110F
MIEUX PROGRAMMER SUR ORIC
ET ATMOS
Michel ARCHAMBAULT
NOUVEAU
JOUEZ AVEC HECTOR
2° édition - Eddy DUTERTRE
JOUEZ AVEC AQUARIUS
collection, poche - L.GENTY
110 F
43 F
45F
LES MYSTERES D'ALICE OU LA PRATIQUE
DU 6Ô03
Une des meilleures critiques de la presse professionnellS
Alain BONNE AUD 1|
LES MYSTERES DU LASER
Denis BOURQUIN
théorie
(A ff V U E
SIONNSS D-0«fC
MIEUX PROGRAMMER SUR AMSTRAD
Michel ARCHAMBAULT 85 F
PLUS LOIN AVEC LE X07
Michel GANTIER 85 F
APPRENEZ L'ELECTRONIQUE SUR M SX
Pierre BEAUFILS 95 F
APPRENEZ L'ELECTRONIQUE SUR AMSTRAD
Pierre BEAUFILS Q«
\O^Vr
Disp onibl e en août à la Soracom
Prix0ÊK
Mieux programmer sur Amstrad
de M Archambault Prixi
plus port lOZ
UPUV.S.R DEVOIE*
imulate
fô\S*» %
■ ■il VM^^MiaÉ ue chasseur à
DELTA, jne |.
phique excepta
° mE m u înu«
s'éteindra...
b PL WS.R DE CRÉER : ^^
jl ^WdjâàÉi , ogcMS d e «*. --SS5SS
LA VITE»»» " >
•Vil MtlËA^H .iiii^atil aue
bauds), poss*! 1 ' l su prême ta ""«"^ jamais vu l
- „ E LA FORTUNE :
LE PLA»S» R ° E ^ acoéconomique
„ ,eplus
Auteur : B. ^ cn
Auteur . n- —
LE PLAISIR DE GÉRER
pus adaptées au ma ' <LEM a
H =nt mauvaise*-
fc n iu»>" "rticisionsoe v" L •_ PO nioncwi» \n--r , „ vec un ■ ■■--
° 0n,P,et r D EGU'LHEBMI£B
Auteur : M- vc
3 \ ■ 1 ..._„m« de la main (
v.
LE PLAI»>"— . (oau me,lon-
i.,<io de c
Auteur . r- " v "
LE PLA.»." - d , une entrepr.
nieS ' r .pROUILUEB
Auteur .C-" 1 "
ERE INFORMATIQUE
27, rue de Leningrad 75008 Paris Tel (1)387.27.27+ Télex 650134